¿Cómo utilizar el lenguaje C para configurar el archivo de encabezado del programa para leer datos en la biblioteca mysql?
1. Primero, incluya el archivo de encabezado de MySQL y el enlace a la biblioteca dinámica de MySQL. Agregue las siguientes declaraciones:
# include & ltWinSock2.h & gt//La programación de red requiere winsock2.h.
#incluye & ltmysql.h & gt
#pragma comentario (lib, "libmysql.lib")
2. Por ejemplo:
MYSQL mysql
3. Inicialice las variables MYSQL.
MySQL_init(&MySQL);
4. Llame a la función mysql_real_connect para conectarse a la base de datos mysql. El prototipo de la función mysql_real_connect es el siguiente:
MYSQL * STDCALL MYSQL_real_connect(MYSQL * MYSQL, const char *host, const char *user, const char *passwd, const char *db, unsigned int port, const char *unix_socket, indicador de cliente largo sin firmar);
Descripción del parámetro: mysql - la variable mysql definida anteriormente; ser El puerto de la base de datos conectada: el puerto de servicio TCP del servidor MySQL; Unix_socket: el modo de conexión Unix; cuando es NULL, significa que el mecanismo de socket o tubería no se utiliza como marca de la base de datos ODBC; generalmente 0. Cuando la conexión falla, esta función devuelve 0.
5. Llame a la función mysql_real_query para consultar la base de datos. El prototipo de la función mysql_real_query es el siguiente:
int STDCALL MYSQL_real_query(MYSQL * MYSQL, const char *q, unsigned long integer);
Descripción del parámetro: mysql-front El definido variable mysql; q – longitud de la declaración de consulta SQL; la longitud de la declaración de consulta.
Si la consulta es exitosa, esta función devuelve 0.
6. Obtenga los datos del resultado de la consulta llamando a la variable mysql_store_result o MYSQL_RES devuelta por la función mysql_use_result.
Los prototipos de estas dos funciones son:
MYSQL _ RES * STDCALL MYSQL _ store _ result(MYSQL * MYSQL
MYSQL _ RES * STDCALL); MYSQL _ use _ result(MYSQL * MYSQL);
Estas dos funciones representan dos formas de obtener resultados de consultas. Primero, se llama a la función mysql_store_result para almacenar todos los datos consultados desde el servidor mysql al cliente, y luego se lee; en segundo lugar, se llama a mysql_use_result para inicializar la recuperación, leyendo así el conjunto de resultados línea por línea, pero no lee; cualquier dato del propio servidor. Este método es más rápido que el primero y requiere menos memoria, pero vinculará el servidor, evitará que otros subprocesos actualicen las tablas y mysql_fetch_row debe ejecutarse repetidamente para leer los datos hasta que se devuelva NULL; de lo contrario, las filas no leídas estarán en la siguiente consulta Devuelta como parte del resultado.
7. Llame a la función mysql_fetch_row para leer los datos del conjunto de resultados.
Los dos métodos anteriores terminan llamando a la función mysql_fetch_row repetidamente para leer datos. El prototipo de la función mysql_fetch_row es el siguiente:
MYSQL _ ROW STDCALL MYSQL _ fetch _ ROW (MYSQL _ RES * result
El resultado del parámetro es el valor de retorno de mysql_store_result); o mysql_use_result.
Esta función devuelve una variable MYSQL_row, que es una matriz de cadenas. Supongamos que FILA, FILA[i] es el valor del campo I-ésimo. Cuando se llega al final del conjunto de resultados, la función devuelve NULL.
8. Cuando el conjunto de resultados se agote, llame a la función mysql_free_result para liberar el conjunto de resultados y evitar pérdidas de memoria. El prototipo de la función mysql_free_result es el siguiente:
void STDCALL MYSQL_free_result(MYSQL_RES * result);
9. Cuando ya no se consulte la base de datos Mysql, llame a la función mysql_close para cerrar. la base de datos se conecta. El prototipo de la función mysql_close es:
void STDCALL MYSQL _ close(MYSQL * sock);