QT系列——SQLServer

2023-02-17 00:00:00 创建 数据库 连接 配置 数据源

今天记录一下Qt连接SQLServer数据库的过程。

SQLServer数据库

先简单的介绍一下SQLServer数据库。

SQLServer数据库是微软提供的一个关系型数据库,与其他关系型数据库一样,采用了SQL语言标准,支持SQL语句的增删改查,该数据库具 有可扩展性、高性能等特点。windows系统提供ODBC管理数据源工具,用于支持连接SQLServer数据库。

连接SQLServer数据库前提

先创建SQLServer数据库,查看一下数据库配置,确保已经开启TCP/IP端口,这里省略创建数据库的步骤。查看方式:

使用SQL Server 配置管理器,选择SQL Server网络配置。确认SQL Server 网络配置中的TCP/IP协议为已启用状态,并且其默认端口为1433端口。

配置ODBC数据源

QT通过ODBC方式连接SQLServer数据库,连接需要配置ODBC数据源。

通过ODBC数据源管理程序,添加并配置文件DSN。

  1. 打开ODBC管理数据源程序;
  2. 创建新数据源,选择SQLServer;
  3. 配置过程中,需要输入服务器IP、指定数据库等,进行数据源配置;
  4. 配置完成后,进行测试,测试成功即配置成功;

QT连接SQLServer数据库

  1. pro文件中加入QT += sql

  2. 创建连接

  • Qt连接SQLServer使用ODBC的连接方式。
  • 添加数据库
QSqlDatabase database = QSqlDatabase::addDatabase("QODBC","SQLServerDatabase");


  • 设置数据库信息
database.setHostName("localhost");// 设置连接主机,配置数据库服务器的ip地址
database.setDatabaseName("sqlserver.dsn");// 设置配置的数据源,如果是文件,需要带.dsn的后缀
database.setUserName("admin");// 设置用户名
database.setPassword("password");// 设置密码


  1. 打开数据库操作数据库之前,需要先成功打开数据库。
dataBase.open()


  1. 数据库操作
  • 获取所有数据库表
QStringList tableList = dataBase.tables();


  • 创建query,访问数据库· 使用QSqlQuery可以操作数据库,query关联数据库dataBase,以便对该数据库进行操作。· 使用QSqlQuery对数据库进行增删改查。
QSqlQuery query(dataBase);
query.exec(sql);// sql变量为SQL语句


  1. 关闭数据库数据库使用结束后,需要进行关闭,以释放资源。
dataBase.close();


  1. 移除数据库连接-数据库连接移除时,不能有打开的查询,否则会有资源泄露。

本文来源https://www.modb.pro/db/397589

相关文章