当前位置: 代码迷 >> QT开发 >> Qt 联接sqlserver 执行select 之后 无法查询到数据
  详细解决方案

Qt 联接sqlserver 执行select 之后 无法查询到数据

热度:326   发布时间:2016-04-25 04:33:52.0
Qt 连接sqlserver 执行select 之后 无法查询到数据
数据库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
}
  相关解决方案