QT中main函数代码:
//main.cpp
#include <QCoreApplication>
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QSqlError>
#include <QDebug>
int main(int argc, char *argv[])
{
//数据库配置
QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
db.setHostName("LAPTOP-73JHQBU0"); // 服务器名称
db.setDatabaseName("cjy"); // 数据源名称
db.setUserName("cjy"); // 用户名
db.setPassword("20310120929"); // 密码
//数据库连接
bool ok = db.open();
if(ok)
{
qDebug()<<"DataBase open sucess!";
}
else {
qDebug()<<db.lastError();
}
//数据库查询
QSqlQuery query(db);
query.exec("select *from LoginHistory_TB");
qDebug()<<"ID LoginName LoginTime LogoutTime OPeration";
while (query.next())
{
int ID = query.value(0).toInt();
QString LoginName = query.value(1).toString();
QString LoginTime = query.value(2).toString();
QString LogoutTime = query.value(3).toString();
int OPeration = query.value(4).toInt();
qDebug()<<QString("%1 %2 %3 %4 %5")
.arg(ID).arg(LoginName).arg(LoginTime).arg(LogoutTime).arg(OPeration);
}
//数据库关闭
db.close();
return 0;
}
问题描述:
以下是预期结果:
解决办法:到sql sever里面,将用户的默认数据库改成,上述表所在的数据库。
改成 student,因为我的LoginHistory_TB表,在student数据库内。
最后,就成功查询并打印出来了。