当前位置: 代码迷 >> QT开发 >> Qt连接SQLServer的有关问题
  详细解决方案

Qt连接SQLServer的有关问题

热度:70   发布时间:2016-04-25 04:46:27.0
Qt连接SQLServer的问题
C/C++ code
#include <QtCore/QCoreApplication>#include <QtSql/QSqlDatabase>#include <QtSql>#include <QStringList>#include <QDebug>struct Student{    QString id;    QString name;    QString sex;};int main(int argc, char *argv[]){    QCoreApplication a(argc, argv);    QSqlDatabase db=QSqlDatabase::addDatabase("QODBC");    QString dsn = QString::fromLocal8Bit("DRIVER={SQL SERVER};SERVER=127.0.0.1;DATABASE=mydb");    db.setDatabaseName(dsn);    db.setUserName("admin");    db.setPassword("123456");    if(db.open()) {        qDebug()<<"OK!";    }    else{        qDebug()<<"Error!";    }    QSqlQuery query(db);    query.exec("select * from NewStudent");    QSqlError error=query.lastError();    qDebug()<<error.number();    if(!query.isValid()){        qDebug()<<"Invalid!";    }    while(query.next()){        Student student;        student.id=query.value(0).toString();        student.name=query.value(1).toString();        student.sex=query.value(2).toString();        qDebug()<<"ID: "<<student.id<<" Name: "<<student.name<<" Sex: "<<student.sex;    }    return a.exec();}


输出了invalid

------解决方案--------------------
query.next()调用前,query.value数据是没有数据的
  相关解决方案