数据库lcms 已建好 在sql server 2005 中执行 没问题 但是在Qt中怎么都查不到数据 ?
代码:
- C/C++ code
#include <QtGui/QApplication>#include <QtGui/QDialog>#include <QtGui/QMessageBox>#include <iostream>#include <QString>#include <QtSql>#include <QSqlDatabase>#include <QSqlError>#include <QSqlQuery>#include <QDebug>using namespace std;QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");bool createConnection();int main(int argc, char *argv[]){ QApplication a(argc, argv); if(!createConnection()) { return 1; } cout << "数据库连接成功!"<< endl; db.open(); if(db.isOpen()) { cout << "已经打开"<< endl; } QSqlQuery query("SELECT * FROM 存取记录"); if(!query.isActive()) { QMessageBox::warning(0,"Database Error",query.lastError().text()); //在此处一直报错 return -1; } while(query.next()) { cout << qPrintable(query.value(5).toString()) << endl; // cout << query.value(5).tostdString() << endl; }
这是为什么啊? 怎么解决? 有没有遇到过这样问题的啊?
------解决方案--------------------
在程序中数据库的名称最好用英文表示,其次query要调用exec()来运行你的数据库语句。
query.exec("SELECT * FROM 存取记录");
// QSqlRecord rec = query.record(); //可以获取到查询到的数据信息
while (query.next())
{
//do something
}