Qt使用ODBC连接到MSSQL、SQLServer

Qt连接到MSSQL,使用ODBC驱动

首先确保系统已经安装了odbc数据源
读取ini配置文件 https://www.cnblogs.com/mc-r/p/15830181.html

示例:

#include "widget.h"
#include "ui_widget.h"
#define DEBUG
// ---> 配置文件地址
#define cfgpath "E:/Projects/Qt/BLFormPrinter/配置文件/config.ini"
void Widget::connectDB()
{
// ---> 读取配置文件
QSettings * cfg = new QSettings(cfgpath,QSettings::IniFormat);
QString ipaddr = cfg->value("SSNC2/ServerName").toString();
QString dbname = "repo_data";
QString dbusr = cfg->value("SSNC2/LogId").toString();
QString dbpass = cfg->value("SSNC2/LogPass").toString();
#ifdef DEBUG
cout << "ip地址: " << ipaddr;
cout << "db名称: " << dbname;
cout << "用户名: " << dbusr;
cout << "密码: " << dbpass;
#endif
cfg->disconnect();
delete cfg;
// ---> 连接到数据库 这里连接的sqlserver2008R2 express版, 所以要添加\sqlexpress
dbc = new QSqlDatabase(QSqlDatabase::addDatabase("QODBC3", "repo"));
QString dsn = QString("DRIVER={SQL SERVER};SERVER=%1\\sqlexpress;DATABASE=%2").arg(ipaddr).arg(dbname);
dbc->setDatabaseName(dsn);
dbc->setUserName(dbusr);
dbc->setPassword(dbpass);
if(!dbc->open()){
#ifdef DEBUG
cout << "无法连按数据库";
cout << dsn;
cout << dbc->lastError();
#endif
} else {
// ---> 成功连接后,实例化查询对象
qyb = new QSqlQuery(*dbc);
}
}
posted @   看不见的R  阅读(581)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示