博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Qt通过ODBC连接SQL Server2008实践总结
阅读量:6079 次
发布时间:2019-06-20

本文共 1511 字,大约阅读时间需要 5 分钟。

Qt连接数据库的方式很多,这里说明一种最常用也是最实用的方式,因为这种方式在Windows上开发使用起来非常方便,并且也是远程连接数据库所需要用到的方式。

 

前提工作:

在Win7下安装了SQL Server 2008,并在SQL Server中创建了数据库MyDB。

 

Qt通过ODBC连接SQL Server 2008概述:

Qt通过ODBC连接数据库时,使用的数据库名不是直接写入数据库名称,而是DSN名。

 

关于DSN的简要介绍:

原名:Data Source Name

  中文名:源名称
DSN为定义了一个确定的和必须用到的ODBC驱动程序。每个ODBC定义为该驱动程序支持的一个数据库创建DSN需要的信息。就是说安装ODBC驱动程序以及创建一个数据库之后,必须创建一个DSN。

 

DSN名的使用方式有两种:

1、在操作系统中配置DSN;

2、在Qt程序代码中采用DSN连接字符串直接连接ODBC数据库。

 

下面详细介绍在操作系统中配置DSN方式下连接SQL Server 2008的操作过程

 

在操作系统中配置DSN

1、在Win7系统中配置DSN详细图解

2、配置好DSN后就可以在Qt程序中使用此DSN连接数据库了:

其中main.cpp代码如下:

#include <QtGui/QApplication>

#include "dialog.h"
#include 
#include 
#include 
#include 
#include 
#include 
 
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Dialog w;
w.show();
 
QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
qDebug()<<"ODBC driver?"<
QString dsn = QString::fromLocal8Bit("");
db.setHostName("127.0.0.1");
db.setDatabaseName(dsn);
db.setUserName("sa");
db.setPassword("198811200");
if(!db.open())
{
qDebug()<
QMessageBox::critical(0, QObject::tr("Database error"), db.lastError().text());
return false;
}
else
qDebug()<<"database open success!";
 
QSqlQuery query(db);
query.exec("select * from student");
 
while(query.next())
{
//qDebug()<
qDebug()<
//qDebug()<
//qDebug()<
//qDebug()<<" ";
 
}
 
return a.exec();
}
 

测试输出结果:

ODBC driver? true

database open success!

"李四 "

"王五 "

"赵六 "

"吴莉莉 "

"刘晓红 "

"陈丽芬 "

"正如因 "

"zhu "

 

 

参考:

 

 

如果出现错误,请确认如下配置正确:

1、

建议将SQL Server(MYSQLSERVER)、SQL Server(SQLEXPRESS)服务停止,避免冲突。

2、

 

注意:更改配置后,务必重新启动数据库服务器

转载地址:http://wrqgx.baihongyu.com/

你可能感兴趣的文章
Nginx访问控制和虚拟主机
查看>>
report widget not working for external users
查看>>
windows phone 摄像头得到图片是旋转90°
查看>>
Linux--sed使用
查看>>
没有显示器的情况下安装和使用树莓派
查看>>
Day006
查看>>
Q85 最大矩形
查看>>
jdbc连接一些问题和常规操作
查看>>
Lua之协同程序(coroutine)
查看>>
RMI原理揭秘之远程对象
查看>>
RHEL6基础之十八Linux中Kill进程的方法
查看>>
[Python]程序结构与控制流
查看>>
微软发布Windows 8标志:彰显创新回归本源(图)
查看>>
测试常用辅助工具汇总
查看>>
mysql 高性能压力测试(总结了好久)
查看>>
接口测试是什么&接口测试文档规范
查看>>
快速搭建LAMP环境
查看>>
异步编程需要“意识”
查看>>
英语语法时态
查看>>
linux双网卡绑定
查看>>