Foros del Web » Programación para mayores de 30 ;) » Programación General »

Qt C++ y bases de datos Access .mdb

Estas en el tema de Qt C++ y bases de datos Access .mdb en el foro de Programación General en Foros del Web. Hola, buenas a todos. Estoy programando en Qt C++ para realizar un programa en C++ con entorno gráfico en windows XP. Tengo una base de ...
  #1 (permalink)  
Antiguo 03/10/2006, 10:22
 
Fecha de Ingreso: noviembre-2005
Mensajes: 28
Antigüedad: 19 años, 3 meses
Puntos: 0
Qt C++ y bases de datos Access .mdb

Hola, buenas a todos.

Estoy programando en Qt C++ para realizar un programa en C++ con entorno gráfico en windows XP. Tengo una base de datos de Microsoft Access "database.mdb" a la cual quiero acceder para leer y escribir datos desde el programa.

El problema esque no se ni por donde empezar. ¿Qué puedo utilizar para acceder desde c++ a la base de datos?

¿Alguien puede ayudarme?

Gracias de antemano.
  #2 (permalink)  
Antiguo 03/10/2006, 11:41
 
Fecha de Ingreso: noviembre-2005
Mensajes: 28
Antigüedad: 19 años, 3 meses
Puntos: 0
Bueno me respondo a mi mismo, por si a alguien le surge el mismo problema.

He utilizado una API que viene con Qt:

#include <QtSql>

QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
db.setDatabaseName("DRIVER={Microsoft Access Driver (*.mdb)};FIL={MS Access};DBQ=../database/database.mdb");
if (!db.open()) {
QMessageBox::about(this, tr("¡Error!"), tr("<b>No se ha encontrado la base de datos!!</b><br><br><b>Verifique que \"database.mdb\" se encuentra en el directorio database</b>"));
}

Como se puede observar se utiliza el driver de acceso a bases de datos ODBC de Microsoft.

Una vez abierta la base de datos solo hay que utilizar un objeto de tipo QSqlQuery para enviar las peticiones en SQL a la base de datos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 2 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 12:59.