• 5136阅读
  • 1回复

没什么说我 database not open? [复制链接]

上一主题 下一主题
离线wangzihan
 

只看楼主 倒序阅读 楼主  发表于: 2011-04-26
#include <QtGui/QApplication>
#include <QtSql/QSqlDatabase>
#include <QtSql/QSqlDriver>
#include <QtSql/QSqlQuery>
#include <QTextEdit>
#include <QString>


int main(int argc, char *argv[])
{
    QApplication ap(argc, argv);
    QTextEdit display;
    QString tem;
    QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");
    db.setPort(3306);
    db.setHostName("localhost");
    db.setUserName("root");
    db.setPassword("wangzihan");
    db.setDatabaseName("b");
    QSqlQuery query(db);
    query.exec("select * from c");
    bool ok=db.open();
    if (ok) {
        QString t("1");
        display.append(t);
        tem=query.value(0).toString();
        display.show();
    }
    else {
    }
    return ap.exec();
}

明明是进入 ok 了(database成功打开)而且display也显示了,但结果是:[/pre][pre]    QSqlQuery::exec: database not open[/pre][pre]
    QSqlQuery::value: not positioned on a valid record
我不明白了~~~求解答。。。。


[ 此帖被wangzihan在2011-04-26 22:58重新编辑 ]
离线XChinux

只看该作者 1楼 发表于: 2011-04-27
要先调用db.open()再调用query.exec()
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
快速回复
限100 字节
 
上一个 下一个