我需要在我的 QT 代码中 同时读取 microsoft ODBC数据库和postgres数据库。
问题
- 一旦我打开数据库连接,我如何指示 qsqlQuery 使用哪一个?
- 为什么我的数据库连接失败但这些数据库存在
#include <QtCore/QCoreApplication>
#include <QSqlDatabase>
#include <QSqlQuery>
#include <Qdebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
//odbc
QSqlDatabase dbODBC= QSqlDatabase::addDatabase("QODBC","microsoft_connection");
dbODBC.setDatabaseName("BIO");
if(!dbODBC.open())
{
qDebug()<<"failed to open BIO";
exit(1);
}
//postgress
QSqlDatabase dbPostgres= QSqlDatabase::addDatabase("QPSQL","postgres_connection");
dbPostgres.setDatabaseName("makerere_boys_db");
dbPostgres.setHostName("127.0.0.1");
dbPostgres.setUserName("postgres");
dbPostgres.setPassword("student");
if (!dbPostgres.open()) {
qDebug()<<"failed to open postgres database";
exit(1);
}
//how do i tell QSqlQuery to use dbODBC instead of dbPostgress?. Frustration follows
QSqlQuery query;
query.exec("SELECT * FROM fees");
qDebug()<<query.value(0).toString();
return a.exec();
system("pause");
}
上面的代码可以编译,但是 QSqlQuery 说数据库没有打开