前言:
在软件项目开发中,经常会用到数据库进行数据管理,其中最常用的就是SQL Server。
本例对如何使用QT5连接SQL Server数据库进行讲解,并提供详细步骤和源码。
环境:
QT5.9.0 (MinGW-32bit), SQL Server 2008,
本例中的测试所用数据库名称为GL4,如下图
1.配置ODBC数据源
打开ODBC数据源管理器,位数要和QT编译器保持一致,本例中两者均为32位。点击添加:
选择SQL Server,点击完成
填写名称(和数据库名称保持一致,本例中为GL4),描述随便填写即可,服务器填写 (local),点击下一步
直接点击下一步
直接点击下一步
直接点击完成
点击测试数据源
测试成功,点击确定即可!
此时,可以看到刚刚添加的名为 “GL4” 的数据源
数据源配置到此就大功告成了!
2.编写QT代码连接数据库
.pro中需要导入sql模块
QT += core gui
QT += sql #导入sql模块
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = E3
TEMPLATE = app
DEFINES += QT_DEPRECATED_WARNINGS
SOURCES += \
main.cpp
main.c源码
#include <QApplication>
#include <QDebug>
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QSqlError>
#include <QSqlDriver>
#include <QSqlRecord>
//SQLServer数据库登录设置
QSqlDatabase *dbSQLServer;
QString hostNameSQLServer = "(local)"; //主机名称
QString dbNameSQLServer = "GL4"; //数据库名称
QString dbUserNameSQLServer = "sa"; //用户名
QString dbPasswordSQLServer = "1"; //密码
//连接到SQLServer
bool Connect_toSQLServer()
{
dbSQLServer=new QSqlDatabase;
*dbSQLServer=QSqlDatabase::addDatabase("QODBC");
dbSQLServer->setHostName(hostNameSQLServer);//主机名称
dbSQLServer->setDatabaseName(dbNameSQLServer);//数据库名称
if(dbSQLServer->open(dbUserNameSQLServer,dbPasswordSQLServer))//用户名、密码
return true;
else{
QSqlError lastError=dbSQLServer->lastError();
qDebug()<<lastError.driverText();
return false;
}
}
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
if(Connect_toSQLServer())
qDebug()<<"连接数据库成功!";
else
qDebug()<<"连接数据库失败!";
delete dbSQLServer;
dbSQLServer=NULL;
return a.exec();
}
输出结果: