Me estoy introduciendo en el entorno de desarrollo de Qt, para el que no sepa QT es una biblioteca multiplataforma para desarrollar aplicaciones con interfaz gráfica. Utiliza principalmente C++, aunque también se pueden usar otros lenguajes de programación.
Actualmente se encuentra en la versión 5.1, pero yo usare la 4.8, aunque por lo que he visto en la documentación no existe diferencia en este caso. Qt se utiliza en KDE para el desarrollo de aplicaciones y al ser multiplataforma las aplicaciones creadas son fácilmente adaptable para múltiples sistemas operativos.
Para este caso cree una base de datos llamada "pruebas_qt" y en ella una tabla llamada "prueba" con los siguientes datos.
Yo realizare la conexión con una aplicación de consola.
Antes de empezar agregamos esto en nuestro archivo .pro :
QT += sql
En nuestro archivo main.cpp importamos la librería QtSql :
#include <QtSql>
Procedemos a crear un objeto de y al objeto le introducimos el driver que usara (Entrar aquí para ver todos http://qt-project.org/doc/qt-5.0/qtsql/sql-driver.html ):
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
A nuestro objeto de seteamos valores de host de la base de datos, nombre de la base de datos, usuario de la base de datos y contraseña :
db.setHostName("localhost");
b.setDatabaseName("pruebas_qt");
db.setUserName("root");
db.setPassword("*****");
Ahora probamos que conexión se realizo exitosamente:
if(!db.open()){ qDebug() << "Error de conexion"; } else { qDebug() << "La conexion se realizo exitosamente"; }
Creamos un objeto de "QSqlQuery" llamado query:
QSqlQuery query;
Dentro del "else" podemos realizar nuestras consultas, por ejemplo para insertar valores en la base de datos :
query.exec("INSERT INTO `CATEGORIA`(`NOMBRE_CATEGORIA`) VALUES ('hola2')");
Después de esto debería quedar algo así, ejecutamos la aplicación en consola y vemos si funciona.
#include <QCoreApplication>
#include <QtSql>
#include <QtDebug>
#include <QString>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setDatabaseName("eventosdb");
db.setUserName("root");
db.setPassword("*****");
if(!db.open())
{
qDebug() << "Database error";
} else
{
qDebug() << "Conexion exitosa";
QSqlQuery query;
query.exec("INSERT INTO `CATEGORIA`(`NOMBRE_CATEGORIA`) VALUES ('hola2')");
}
exit(0);
return a.exec();
}



No hay comentarios:
Publicar un comentario