Red de conocimiento informático - Problemas con los teléfonos móviles - vc++ se conecta a la base de datos MYSQL

vc++ se conecta a la base de datos MYSQL

MySQL proporciona una gran cantidad de API de interfaz de datos, incluidas C, C++, Perl, PHP, Python, TCL y otras API e interfaces

JDBC y ODBC. Por razones de rendimiento, utilizamos la API C de MySQL para el desarrollo. Ahora tome el entorno Visual C++

como ejemplo para dar una breve introducción.

---- Cree un nuevo proyecto de aplicación de consola Win32 y agregue "c:\mysql\include" a la ruta de inclusión de las opciones de compilación (agréguelo en Opciones del proyecto /I "d:\mysql\ incluir&quounter.cgol.net Jiamanlong?

#include

#include

#include

#include

int main( int argc, char * argv[] )

{

char szTargetDSN[ ] = "prueba";

char szSqlText[500]="";

char aszFlds[ 25 ][ 25 ]

MYSQL * myData ; /p>

MYSQL_RES * res ;

MYSQL_FIELD * fd

MYSQL_ROW fila

int i,j,k

BOOL bCreate = TRUE;

if ( (myData = mysql_init((MYSQL*) 0))

//Inicializar estructura de datos

&& mysql_real_connect( myData, NULL,

//Conectar a la base de datos

"root", " your_password ", szTargetDSN,

MYSQL_PORT, NULL, 0 ) )

{

if(bCreate)

{

sprintf(szSqlText, //Construir sentencia SQL

"create table mytable "

//Crear una nueva tabla

"(time datetime, s1 char(6), "

"s2 char(11), s3 int, s4 int)");

if (mysql_query( myData, szSqlText))

//Ejecutar sentencia SQL

{//Error al ejecutar sentencia SQL

ErrLog( "No se puede crear la tabla")

mysql_close( myData )

return FALSE

}

p>

sprintf(szSqlText,

"insertar en mytable "

//Insertar en la tabla Insertar datos

"values('2000-3-10 21:01:30',"

//Presta atención al formato de la hora

"'Test' ,'MySQLTest' ,2000,3)");

if (mysql_query( myData, szSqlText))

{//Error al ejecutar la instrucción SQL

ErrLog ( "Can' t insertar datos en la tabla") ;

mysql_close( myData );

ret

urn FALSE ;

}

sprintf(szSqlText, "seleccione * de mitabla ");

if (mysql_query( myData, szSqlText))

//Realizar recuperación de datos

{

//Error al ejecutar la instrucción SQL

mysql_close( myData

return FALSE); ;

}

else

{

res = mysql_store_result( myData )

//Obtener consulta; Resultado

i = (int) mysql_num_rows( res );

//Obtener el número de registros válidos

printf( "Consulta: %s\n% Registros ld encontrados:

\n", szSqlText, i );

for ( i = 0 ; fd = mysql_fetch_field( res );

i++ )

strcpy( aszFlds[ i ], fd->name )

//Obtener el nombre de cada campo

for (i=1; fila = mysql_fetch_row ( res );

//Leer cada registro en secuencia

{j = mysql_num_fields( res); registro

printf( "Registro #%ld:-\n", i++ )

for ( k = 0 ; k < j ; k++ )

// Muestra el valor de cada campo de

printf( " Fld #%d (%s): %s\n", k + 1, aszFlds[ k ],

( ((fila[k] ==NULL)||

(!strlen(fila[k])))?"NULL":fila[k])); ( "==== ==========================\n" )

}

mysql_free_result( res )

}

}

else

{//Error al conectarse a la base de datos

ErrLog( "No se puede conectar al servidor mysql ")

mysql_close( myData )

return FALSE

}

;

mysql_close( myData )

return TRUE ;

}

---- Para una breve explicación de varias de las funciones, para una explicación detallada. , consulte la documentación de MySQL:

---- 1. MYSQL *mysql_init(MYSQL *mysql)

---- Inicialice una estructura de datos de tipo MYSQL en preparación para ejecutando mysql_real_connect(). El parámetro

mysql es un puntero a la estructura. Si mysql es NULL, se crea e inicializa una nueva estructura de datos MYSQL.

La estructura recién creada se publicará en mysql_close().

---- Si tiene éxito, devuelve el puntero de la estructura de datos MYSQL inicializada; de lo contrario, devuelve NULL.

---- 2. MYSQL *mysql_real_connect(MYSQL *mysql, const char *host,

---- const char *usuario, const char *contraseña, const char * db,

---- unsigned int port, const char *unix_socket, unsigned int client_flag)

---- Establece una conexión con el motor de base de datos MySQL. Antes de realizar más operaciones de datos, debe asegurarse de que mysql_re

al_connect() regrese correctamente.

---- El parámetro mysql es el valor de retorno de mysql_init();

---- El parámetro host es el nombre de host TCP/IP de la máquina que ejecuta MySQL. motor de base de datos, como NULL por defecto es "lo

calhost"

---- Los parámetros usuario y contraseña son los usuarios y contraseñas legales de la base de datos MySQL

--- - El parámetro db es el nombre de la base de datos conectada

---- Los parámetros port, unix_socket y client_flag generalmente toman el valor predeterminado.

---- 3. int mysql_query(MYSQL *mysql, const char *query)

---- Ejecute la instrucción SQL en la cadena de consulta. La consulta debe terminar con. 0. Si tiene éxito, devuelve 0.

---- 4. MYSQL_RES *mysql_store_result(MYSQL *mysql)

---- Devuelve los resultados de la ejecución de SELECT, SHOW, DESCRIBE, EXPLAIN y otras declaraciones. La función crea una nueva estructura de datos MYSQL_

RES y almacena los resultados en la estructura. Si la consulta no tiene resultados coincidentes, se devuelve un conjunto de datos vacío.

Después de procesar el conjunto de resultados, se debe llamar a mysql_free_result().

---- Si se produce un error, se devuelve NULL; de lo contrario, se devuelve el puntero a la estructura MYSQL_RES.

---- 5. MYSQL_ROW mysql_fetch_row(MYSQL_RES *resultado)

---- Recupera el siguiente registro en el conjunto de resultados. Si no hay ningún registro o se produce un error, Se devuelve NULO. El número de campos en un registro se puede obtener con mysql_num_fields(resultado), y el valor de cada campo se puede obtener de la fila[0] a la fila[mysql_nu

m_fields(resultado)-1] matriz para acceso.

---- En las opciones de enlace del proyecto, agregue la biblioteca de interfaz de c:\mysql\lib\libmysql.lib y copie libmysql.d

ll al sistema operativo Directorio del sistema (c:\winnt\system32), puede compilarlo y ejecutarlo.

---- Hasta este punto, se ha desarrollado una aplicación de base de datos sencilla. Por supuesto, MySQL tiene un conjunto de AP

I con muchas funciones, puede consultar la documentación. Además, si necesita portabilidad multiplataforma, puede considerar utilizar la interfaz ODBC de MySQL

. Puede configurar las propiedades de conexión ODBC de MySQL usted mismo o puede descargar el kit de herramientas myodbc-2.50.29-nt.zip para configurarlo.