早上好, 在我的QT / C ++项目中,我有一个名为“ 数据库”的类,该类打开一个数据库,为连接指定一个名称,如下所示:
db = QSqlDatabase::addDatabase(driver_db, "pippo");
在同一项目的多个部分中,我必须使用相同的数据库。 我考虑过通过使用名称调用连接来连接数据库
DataBase *database = new DataBase;
QSqlDatabase dbstructure = QSqlDatabase::database("pippo");
虽然连接是打开的,并且当我尝试读取所选记录的值时没有任何错误报告,但我没有向查询返回任何内容。size()表示我为-1
if(database->openDataBase(dbstructure)) {
QSqlQuery querydb(dbstructure);
QString strqrysearchprogram = "select * from nome_Tabella where Item = '1'" ;
if(querydb.exec(strqrysearchprogram)) {
if (querygrare.first()) {
qDebug() << querygrare.size();
QString valuefield = querygrare.value("nameField").toString();
qDebug() << "valuefield : " << valuefield;
qDebug() << "qry: " << strqrysearchprogram;
}
} else {
qDebug() << "record non trovato in qry: " << strqrysearchprogram;
}
} else {
qDebug() << "ERROR open Database";
}
我在哪里错了?使用连接名称重新调用数据库是否正确? 我声明我已经检查了传递的选择字符串并且该记录存在。