当前位置: 代码迷 >> QT开发 >> QT 操作MYsql疏失
  详细解决方案

QT 操作MYsql疏失

热度:68   发布时间:2016-04-25 03:51:16.0
QT 操作MYsql出错
直接上代码
#include <QtGui/QApplication>
#include<QtSql>
#include<QLabel>
#include<QSqlDatabase>
#include<QDebug>
#include <QSqlQuery>
bool createConnection()
{
    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    db.setHostName("localhost");
    db.setDatabaseName("travel");
    db.setUserName("root");
    db.setPassword("");
    if (!db.open())
        return false;
    db.close();
    return true;
}
bool create_table()
{
    QSqlQuery query;
    query.exec("select * from student");
       return true;

}


int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QLabel* label = new QLabel;
    label->setWindowTitle("QT Database");
    if (createConnection())

        label->setText("connection success...");
    else

      label->setText("connection failed...");
    label->show();
    if(!create_table())
        exit;

    return a.exec();
}
运行,如下结果  QSqlQuery::exec: database not open
而且label显示connection success,这是为什么啊

------解决方案--------------------
你的代码有逻辑错误,如果打开就立刻关闭数据库。
------解决方案--------------------
数据库被你后面语句关闭了
  相关解决方案