Qt连接SQL Server 2014数据库

1. 建立目标数据库

连接数据库之前,需先在SQL Server中建立一个目标数据库,建立数据库和添加表的步骤这里不详述。

如建立一个名为DataBase的数据库,其中有heart1表、heart2表和heartHD三个表。这里使用的是数据库版本为 SQL Server 2014 R2。

2. 配置数据库数据源

在配置数据源之前,要确保数据库1433号端口已打开,1433端口是SQL Server的默认端口,SQL Server服务使用两个端口:TCP-1433、UDP-1434。其中1433用于供SQL Server对外提供服务,1434用于向请求者返回SQL Server使用了哪个TCP/IP端口。

设置SQL Server 网络配置中的TCP/IP协议为已启用状态,并且检查其默认端口是否为1433端口。具体设置步骤如下图:

服务和端口设置好后,接下来配置ODBC数据源。开放数据库连接(Open Database Connectivity,ODBC)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。

Qt数据库驱动并不能直接连接到SQL Server中的数据库,而是要通过配置ODBC数据源来进行连接。具体设置步骤如下图:

点击dBASE Files,选择添加:

选择SQL Server:

命名数据源名称并选择服务器,这里的服务器名即SQL Server 登录框中的服务器名,把它复制过来:

选择登录方式为SQL Sever验证方式,并设置登录名和密码,这里选择sa(超级用户):

注意:登录名必须是数据库中已存在的登录用户。

选择需要连接的数据库作为默认数据库:

选择下一步,选择“测试数据源”,成功后单击确定。

3. Qt连接数据源

新建一个Qt GUI工程,在其pro文件中加入QT += sql,并设计界面。

下面是Qt帮助文档提供的连接代码:

QSqlDatabase db = QSqlDatabase::addDatabase("QPSQL");

db.setHostName("acidalia");

db.setDatabaseName("customdb");

db.setUserName("mojito");

db.setPassword("J0a1m8");

bool ok = db.open();

建立连接的代码:

#include <QApplication>

#include <QDialog>

#include"mainwindow.h"

#include <QSqlDatabase>

#include <QDebug>

#include <QMessageBox>

#include<QSqlError>

bool OpenDatabase()

{

QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");   //数据库驱动类型为SQL Server

qDebug()<<"ODBC driver?"<<db.isValid();

QString dsn = QString::fromLocal8Bit("DataBase");     //数据源名称

db.setHostName("localhost");                        //选择本地主机,127.0.1.1

db.setDatabaseName(dsn);                         //设置数据源名称

db.setUserName("sa");                             //登录用户

db.setPassword("1234");                           //密码

if(!db.open())                                     //打开数据库

{

qDebug()<<db.lastError().text();

QMessageBox::critical(0, QObject::tr("Database error"), db.lastError().text());

return false;                                   //打开失败

}

else

qDebug()<<"database open success!";

return true;

}

int main(int argc, char *argv[])

{

QApplication a(argc, argv);

MainWindow w;

if(!OpenDatabase())

return 1;

w.show();

return a.exec();

}

到此,Qt就连接上数据库了,其他数据库连接过程类似。

  1. 在连接过程中需注意的几个问题:
  2. 确保1433号端口已经打开;
  3. 确认SQL Server 网络配置的TCP/IP协议已启用;
  4. 正确配置ODBC数据源;
  5. 正确建立连接,登录名和登录密码为数据库中已存在的登录用户。

Qt连接SQL Server 2014数据库相关推荐

  1. QT连接SQL server 数据库

    Qt连接SQL server数据库 由于课程设计需要,需要用qt设计一个界面来操作数据库,在建立数据库连接时,期间遇到各种问题. Qt 连接SQL server数据大致可以概括为下图的三层模型,箭头代 ...

  2. SQL Server 2014 数据库远程连接配置

    SQL Server 2014 数据库远程连接配置的步骤如下: 1.在SQLSERVER Mangerment Studio中 2.在SQLSERVER Configuration Manger中 3 ...

  3. SQL Server 2014 数据库误删数据的恢复处理

    一.序言 作为程序开发人员或 DBA,经常会接触到数据库(以 SQL Server 2014 数据库为例)的增.删.改查操作.执行 delete 语句时不小心误删数据表的记录情况,而数据库之前又没有任 ...

  4. qt 连接SQL Server服务器

    qt连接sql server 需要配置ODBC数据源 一.数据源配置 控制面板 → 管理工具 → ODBC 数据源 数据源名称自起(等会儿代码中会用到). 服务器输入要连接服务器名称. 录入登录名,密 ...

  5. Eclipse如何连接SQL Server 2005数据库

    做管理系统当然少不了经常与数据库打交道,在网上搜了很多数据库版本都不小,大的有好几个G的,小的也有几百兆的,我这可怜的内存,最终找了个精简版中的精简版的Sql server2005,只有80几兆,本来 ...

  6. QT 连接 sql server数据库 完整演示

    1.测试qt是否支持sql sqlserver 在配置文件中先添加 一行 QT+=sql #include <QApplication> #include <QSqlDatabase ...

  7. 图解微软ReportBuilder3连接Sql Server 2008数据库表创建报表

    ReportBuilder3下载: http://pan.baidu.com/s/1skFeGVj 这东西还是一个好东东: 下面演示使用ReportBuilder3连接sql server 数据库表生 ...

  8. PHP(2):PHP读取MS Sql Server 2014数据库数据

    前面使用VBS将Excel数据写入到了Ms Sql Server 2014的数据库,现在要将记录显示出来,本来打算用IIS+ASP.net,可是9月份安装好Apache+PHP后一直没有写过PHP代码 ...

  9. 远程连接SQL Server 2005数据库

    由于项目需要,我要远程连接到一台团队服务器上的SQL Server 2005数据库.但是试了几次都没有成功,后来在网上搜了很多相关资料终于搞定了,这里把它总结一下. 确保服务器端的数据库中存在sa. ...

最新文章

  1. HDU 4609 3-idiots FFT
  2. 干货丨入门机器学习,从搞懂这8大经典算法开始
  3. mongodb AND查询遇到多个index时候可能会做交集——和复合索引不同
  4. elasticjob2.x 获取上次执行时间_深圳会务公司-会议活动策划与执行注意事项
  5. springcloud 错误: 找不到或无法加载主类
  6. 娱乐项目和女朋友哪个重要?
  7. adb命令怎么打开_用python撸支付宝体验金,才是程序员正确的打开方式!
  8. python多维列表索引越界怎么处理_Python中remove漏删和索引越界问题的解决
  9. 【机器学习】Octave矩阵,向量的表示与基本操作
  10. 2021-06-26 严格检查模式 字符串
  11. 电脑 手机 模拟器IP地址怎么更换
  12. Spring boot项目集成阿里云短信服务发送短信验证码
  13. CSS3 - 新单位vw、vh、vmin、vmax使用详解(附样例)
  14. 使用 OpenSSL 创建ssl证书
  15. 怎么制作linux光盘镜像,linux光盘镜像文件制作攻略
  16. java实现简易五子棋
  17. ESP32游戏机总体设计
  18. 关于R语言显示“Warning message: In normalizePath(path.expand(path), winslash, mustWork) : path[1]=”问题的解决办法
  19. win10 关机变注销重启_如何在Windows 10中更改Windows 10注销,登录和关机声音
  20. 固态硬盘-机械硬盘-选择win-ubuntu兼容格式

热门文章

  1. Linux 命令(110)—— help 命令(builtin)
  2. Linux 命令(74)—— top 命令
  3. CVE-2016-1240 Tomcat 服务本地提权漏洞
  4. Java中J.U.C扩展组件之ForkJoinTask和ForkJoinPool
  5. 基于java的微信公众平台开发(一)--账号申请与服务器的搭建
  6. servlet配置log4J
  7. 我的QQ群,欢迎入坑!
  8. Google新项目:从一条线开始,完成地球的绘制
  9. form表单target的用法
  10. ssh 使用公钥登录客户端设置