Contactarse a una base de dato MySQL a través de MYSQL Connector
-
Upload
bycross-garcia -
Category
Documents
-
view
1.474 -
download
1
Transcript of Contactarse a una base de dato MySQL a través de MYSQL Connector
CONTACTARSE A UNA BASE DE DATO MYSQL A TRAVÉS DE MYSQL CONNECTOR/C (LIBMYSQL) BYCROSS - 07/07/2012
Contactarse a una base de dato MySQL a trave s de MYSQL Connector/C
(libmysql)
QT LIBRARIES VERSION 4.8.1
CONNECTOR/C 6.0.2
CONTACTARSE A UNA BASE DE DATO MYSQL A TRAVÉS DE MYSQL CONNECTOR/C (LIBMYSQL) BYCROSS - 07/07/2012
PUNTOS QUE TOCA EL TUTORIAL:
1. INSTALACIÓN DE QT CON LOS COMPONENTE DE QT 4.8.1 SOURCES.
2. EN CASO DE TENER INSTALADO QT, HABILITAR LOS COMPONENTE DE QT 4.8.1 SOURCES.
3. DESCARGAR E INSTALAR MYSQL CONNECTOR/C (LIMMYSQL).
4. AGREGAR EN QT LOS PATH LAS LIBRERÍAS DE MYSQL CONNECTOR/C.
5. MODIFICAR LAS LIBRERÍAS PARA QUE FUNCIONE CON QT.
6. CONFIGURANDO UNA APLICACIÓN QT.
7. EJEMPLOS DE USOS.
8. DOCUMENTACIÓN DE MYSQL.
CONTACTARSE A UNA BASE DE DATO MYSQL A TRAVÉS DE MYSQL CONNECTOR/C (LIBMYSQL) BYCROSS - 07/07/2012
EN CASO DE NO TENER QT INSTALADO:
1. DESCARGE QT (HTTP://QT.NOKIA.COM/DOWNLOADS)
2. INSTALE QT CON LA OPCIÓN DE INSTALAR EL PAQKETE QtSources 4.8.1
a. En la pantalla siguiente seleccionamos la Opción Custom, y pulsamos siguiente:
b. En esta pantalla se muestra los componentes a instalar con QT, activamos el Qt 4.8.1
Sources que se encuentra en Qt Sdk > Miscellaneouns > Qt 4.8.1 Sources
Luego Pulsamos siguiente.
CONTACTARSE A UNA BASE DE DATO MYSQL A TRAVÉS DE MYSQL CONNECTOR/C (LIBMYSQL) BYCROSS - 07/07/2012
Y luego seguimos la instalación como seria habitual.
EN CASO DE TENERLO INSTALADO QT Y NO A VER INSTALADO (QTSOURCES):
1. ABRIR SDKMAINTENANCETOOL QUE SE EN CUENTRA EN MENU INICIO > QT SDK > MAINTAIN QT SDK
O SINO EN <CARPETA DE INSTALACIÓN DE QT>\SDKMAINTENANCETOOL.EXE
a. Una vez Abierto no aseguramos que la opción Package manager este activado
CONTACTARSE A UNA BASE DE DATO MYSQL A TRAVÉS DE MYSQL CONNECTOR/C (LIBMYSQL) BYCROSS - 07/07/2012
b. En esta pantalla se muestra los componentes a instalar con QT, activamos el Qt 4.8.1
Sources que se encuentra en Qt Sdk > Miscellaneouns > Qt Sources > Qt 4.8.1
Sources Luego Pulsamos siguiente.
CONTACTARSE A UNA BASE DE DATO MYSQL A TRAVÉS DE MYSQL CONNECTOR/C (LIBMYSQL) BYCROSS - 07/07/2012
Y luego seguimos como seria habitual.
CONTACTARSE A UNA BASE DE DATO MYSQL A TRAVÉS DE MYSQL CONNECTOR/C (LIBMYSQL) BYCROSS - 07/07/2012
DESCARGAR E INSTALAR MYSQL CONNECTOR/C (LIMMYSQL).
1. DESCARGE MYSQL CONNECTOR/C DE (HTTP://WWW.MYSQL.COM/DOWNLOADS/CONNECTOR/C/)
2. INSTALE MYSQL CONNECTOR/C.
AGREGAR EN QT LOS PATH LAS LIBRERÍAS DE MYSQL CONNECTOR/C.
1. Abrimos el CMD(consola) del sistema y vamos a la carpeta donde está instalado QT.
En mi caso es D:\QtSdk\
Y luego nos metemos dentro de la carpeta \QtSources\4.8.1
En mi caso sería: D:\QtSdk\QtSources\4.8.1\
Una vez posicionado en la carpeta Ejecutamos el siguiente comando:
configure.exe -opensource -debug-and-release -platform win32-g++ -I <Dirección donde se
instaló el Connector>\include -L <Dirección donde se instaló el Connector>\lib\opt
Nota: Remplazar por la dirección donde instalaron <Dirección donde se instaló el Connector>
MySql Connector/C
CONTACTARSE A UNA BASE DE DATO MYSQL A TRAVÉS DE MYSQL CONNECTOR/C (LIBMYSQL) BYCROSS - 07/07/2012
No sale lo siguiente:
Escribimos “Y” y pulsamos Enter
Vemos que sale un montón de Texto
Eso quiere decir que Qt ahora tiene Los path de la librería.
CONTACTARSE A UNA BASE DE DATO MYSQL A TRAVÉS DE MYSQL CONNECTOR/C (LIBMYSQL) BYCROSS - 07/07/2012
MODIFICAR LAS LIBRERÍAS PARA QUE FUNCIONE CON QT.
Lo que hay que hacer a continuación es modificar 2 lines de código un fichero fuente de MySql
connector/c
1. Abrimos con Qt el archivo mysql_com.h que se encuentra en <Dirección donde se instaló el
Connector>\include
Vamos a la Línea 268:
Y la comentamos quedaria asi:
Y luego en el mismo archivo vamos a la línea 437:
Y comentamos esta otra línea también, quedaría así:
Una Vez Echo eso Guardamos el Fichero y listo.
CONTACTARSE A UNA BASE DE DATO MYSQL A TRAVÉS DE MYSQL CONNECTOR/C (LIBMYSQL) BYCROSS - 07/07/2012
CONFIGURANDO UNA APLICACIÓN QT.
1. CREAMOS UN NUEVO PRPYECTO EN QT.
2. UNA VEZ CREADO EL PROYECTO.
HACEMOS CLICK CON EL DERECHO EN LA RAÍZ DEL PROYECTO Y SELECCIONAMOS ADD LIBRARY…
3. LUEGO SELECCIONAMOS EXTERNAL LIBRARY Y LE DAMOS A SIGUIENTE.
CONTACTARSE A UNA BASE DE DATO MYSQL A TRAVÉS DE MYSQL CONNECTOR/C (LIBMYSQL) BYCROSS - 07/07/2012
4. a. LE DAMOS BROWSE DONDE DICE LIBRARY FILE:
EN CUADRO DE DIALOGO TENEMOS QUE BUSCAR EL ARCHIVO LIBMYSQL.LIB EN DONDE
INSTALAMOS EL CONECTOR/C.
EJ: C:\MYSQLCONNECTEC\LIB\OPT\LIBMYSQL.LIB
b. LE DAMOS BROWSE DONDE DICE INCLUDE PATH:
EN CUADRO DE DIALOGO TENEMOS QUE BUSCAR LA CARPETA INCLUDE DONDE INSTALAMOS EL
CONECTOR/C.
EJ: C:\MYSQLCONNECTEC\INCLUDE
Y LUEGO PULSAMOS SIGUIENTE Y FINALIZAR Y YA TENEMOS
CONFIGURADO NUESTRA APP.
CONTACTARSE A UNA BASE DE DATO MYSQL A TRAVÉS DE MYSQL CONNECTOR/C (LIBMYSQL) BYCROSS - 07/07/2012
EJEMPLOS:
CONECTARSE A UNA BASE DE DATOS MYSQL:
#include <QtGui/QApplication>
#include <QDebug>
// Incluimos las Librerías
#include <mysql.h>
#include <mysql_com.h>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MYSQL mysql; // Creamos un recurso MySQL
mysql_library_init(0,NULL,NULL); // inicializamos la librería
mysql_init(&mysql); // inicializamos el recurso de MySql
mysql_options(&mysql,MYSQL_READ_DEFAULT_GROUP,"Nombre Aplicacion");
// Conectamos a la base de dato
if(!mysql_real_connect(&mysql,"localhost","root","","test",0,NULL,0)){
qDebug() << "Error" << mysql_error(&mysql);
}
return a.exec();
}
CONTACTARSE A UNA BASE DE DATO MYSQL A TRAVÉS DE MYSQL CONNECTOR/C (LIBMYSQL) BYCROSS - 07/07/2012
CREANDO UNA CONSULTA A LA BASE DE DATO MYSQL:
#include <QtGui/QApplication>
#include <QDebug>
// Incluimos las Librerías
#include <mysql.h>
#include <mysql_com.h>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MYSQL mysql; // Creamos un recurso MySQL
mysql_library_init(0,NULL,NULL); // inicializamos la librería
mysql_init(&mysql); // inicializamos el recurso de MySql
mysql_options(&mysql,MYSQL_READ_DEFAULT_GROUP,"Nombre Aplicacion");
// Conectamos a la base de dato
if(!mysql_real_connect(&mysql,"localhost","root","","test",0,NULL,0)){
qDebug() << "Error" << mysql_error(&mysql);
return a.exec();
}
// Query a enviar a la base de dato
QString query="SELECT * FROM tabla ";
// Envía el Select a la base de dato.
mysql_query(&mysql,query.toAscii().data());
// Obtiene los resultados de la base de dato en un recurso MYSQL_RES
MYSQL_RES * res= mysql_store_result(&mysql);
if(res){ // Verifica MYSQL_RES tenga datos
// Obtiene el número de filas devueltas.
unsigned int num_rows=mysql_num_rows(res);
// Obtengo los resultado de la primera fila en un recurso MYSQL_ROW
MYSQL_ROW row=mysql_fetch_row(res);
// Para acceder a los valores devueltos en la file se accede al
// igual que un array de datos.
// En este caso sacaría el valor de la columna 1 y 2 de la fila 1
qDebug() << row[0] << row[1] ;
}
return a.exec();
}
CONTACTARSE A UNA BASE DE DATO MYSQL A TRAVÉS DE MYSQL CONNECTOR/C (LIBMYSQL) BYCROSS - 07/07/2012
DOCUMENTACIÓN DE MYSQL
DOCUMENTACIÓN GENERA:
http://dev.mysql.com/doc/refman/5.1/en/connector-c.html
DOCUMENTACIÓN DE LAS GENERAL DE MYSQL C API:
http://dev.mysql.com/doc/refman/5.1/en/c.html
DOCUMENTACIÓN DE LAS FUNCIONES DE MYSQL C API:
http://dev.mysql.com/doc/refman/5.1/en/c-api-function-overview.html