请看我的代码:
bool createConnection(){ QSqlDatabase db = QSqlDatabase::addDatabase("QODBC3"); QString dsn = QString::fromLocal8Bit("DRIVER={SQL SERVER};SERVER=WR\\SQLEXPRESS;DATABASE=web"); db.setDatabaseName(dsn); db.setUserName("username"); db.setPassword("password"); return db.open();}
bool canQuery() { QSqlQuery query; // 换成 QSqlQuery query(QSqlDatabase::database())亦不行 query.exec("select * from host"); if(query.isActive()) { return true; } else { QMessageBox::information(0, "query","failed"); return false; }}这两个方法在同一个类中,已经测试过,数据库连接成功,并且query 的 isActive()返回true,lastError().test()没有内容,但query.size()为-1,也就是说没有查到内容,可我的表中命名有内容啊,郁闷了很久,希望哪位好心人能帮帮忙。