测试使用QT来连接SQLServer并取出表格数据
添加引用
工程文件需要加入
QT += sql
在main.cpp添加头文件引用
//添加头文件
#include <qdebug.h>
#include <QSqlDatabase>
#include <QSqlError>
#include <QSqlQuery>
连接数据库
QSqlDatabase db=QSqlDatabase::addDatabase("QODBC");
db.setDatabaseName(QString("DRIVER={SQL SERVER};"
"SERVER=%1;" //服务器名称
"DATABASE=%2;"//数据库名
"UID=%3;" //登录名
"PWD=%4;" //密码
)
.arg("localhost")
.arg("TEST1")
.arg("sa")
.arg("111111")
);
if (!db.open()) {
qDebug()<<"connect sql server failed!";
} else {
qDebug()<<"connect sql server successfully!";
}
获取得当前连接数据所有表名
qDebug() << "取得所有表名";
QStringList tabelle = db.tables(QSql::Tables);
qDebug() << tabelle.join(",");
获取表数据
qDebug() << "查询表t1并取出数据";
//查询数据
//QSqlQuery sql_query(db);
QSqlQuery sql_query("select name from dbo.t1" );
while(sql_query.next())
{
// int id = sql_query.value(0).toInt();
QString name = sql_query.value(0).toString();
// int age = sql_query.value(2).toInt();
qDebug()<<QString("name:%1 ").arg(name);
}
测试结果
在测试过程遇到错误:QSqlDatabase: QODBC driver not loaded
将QT安装目录中 plugins\sqldrivers复制Debug或release下即可
例如:D:\Qt\Qt5.9.9\5.9.9\mingw53_32\plugins\sqldrivers
复制到
复制时注意构建配置的Debug还是Release