Qt实用技巧:Qt连接SQL Server数据库(需要配置ODBC)

本文涉及的产品
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
云数据库 RDS SQL Server,基础系列 2核4GB
简介: Qt实用技巧:Qt连接SQL Server数据库(需要配置ODBC)

若该文为原创文章,未经允许不得转载

原博主博客地址:https://blog.csdn.net/qq21497936

原博主博客导航:https://blog.csdn.net/qq21497936/article/details/102478062

本文章博客地址:https://blog.csdn.net/qq21497936/article/details/79566999

各位读者,知识无穷而人力有穷,要么改需求,要么找专业人士,要么自己研究

红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…(点击传送门)

Qt开发专栏:实用技巧(点击传送门)

 

需求

       指定使用sql server数据库,qt连接sql server进行查询操作。

 

原理

       qt使用odbc驱动连接sql server数据库。

 

配置ODBC以及测试数据源

第一步:控制面板搜索ODBC数据源

第二步:添加odbc,已有则不添加,点击配置

第三部:配置ODBC向导

第四步:获取服务器名称

第五步:使用配置的sa帐号登录

第六步:配置ODBC服务器的数据库

第七步:配置完成

第八步:配置成功

第九步:点击“测试数据源“,测试成功表示数据库连接没有问题

 

关键代码

启动时连接数据库

void MainWindow::init()
{
    _sqlServer.setDataBasetName("localhost", "dictionary", "sa", "123456");
    if(!_sqlServer.connectToSqlServer())
    {
        QMessageBox::warning(this, QString::fromLocal8Bit("错误"), QString::fromLocal8Bit("数据库连接错误,词典将无法正常使用!!!"));
    }
}

设置数据库模块信息

void SqlServer::setDataBasetName(QString server, QString database, QString uid, QString pwd)
{
    _server = server;
    _database = database;
    _uid = uid;
    _pwd = pwd;
}

连接数据库的模块代码

bool SqlServer::connectToSqlServer()
{
#if 0
    // 方法一:尝试成功
    _db = QSqlDatabase::addDatabase("QODBC");
    _db.setHostName(_server);
    _db.setDatabaseName(_database);
    _db.setUserName(_uid);
    _db.setPassword(_pwd);
#else
    // 方法二:尝试成功:注意对于express版本的数据库,SERVER字段后面一定要加\\sqlexpress,否则连接不上
    _db = QSqlDatabase::addDatabase("QODBC");
    QString strConnect = QString("Driver={SQL Server};"
                                 "SERVER=%1\\sqlexpress;"
                                 "DATABASE=%2;"
                                 "UID=%3;"
                                 "PWD=%4;")
                  .arg(_server)
                  .arg(_database)
                  .arg(_uid)
                  .arg(_pwd);
    _db.setDatabaseName(strConnect);
#endif
    if(!_db.open())
    {
        emit error(_db.lastError().databaseText());
        return false;
    }else{
        emit connctedToSqlServer();
        return true;
    }
}

 

原博主博客地址:https://blog.csdn.net/qq21497936

原博主博客导航:https://blog.csdn.net/qq21497936/article/details/102478062

本文章博客地址:https://blog.csdn.net/qq21497936/article/details/79566999



相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
相关文章
|
23天前
|
SQL 存储 数据管理
SQL Server数据库
SQL Server数据库
40 11
|
28天前
|
SQL 关系型数据库 分布式数据库
PolarDB Proxy配置与优化:提升数据库访问效率
【9月更文挑战第6天】PolarDB是阿里云推出的高性能分布式关系型数据库,PolarDB Proxy作为其关键组件,位于客户端与PolarDB集群间,负责SQL请求的解析与转发,并支持连接池管理、SQL过滤及路由规则等功能。本文详细介绍了PolarDB Proxy的配置方法,包括连接池、负载均衡和SQL过滤设置,并探讨了监控调优、缓存及网络优化策略,以帮助提升数据库访问效率。
29 1
|
1月前
|
Java 数据库连接 数据库
数据库以及其他项目配置
该项目配置了数据库连接和MyBatis设置,并解决了配置文件加载问题。启动类使用 `@SpringBootApplication` 注解,可通过 `@ComponentScan` 指定扫描包。Lombok 自动生成 getter/setter 等方法,简化代码。Result 实体类用于统一返回格式。用户模块包括注册与登录功能,使用 MD5 加密密码、Spring Validation 参数校验及 JWT 认证。JWT 工具类处理令牌生成与解析,并通过拦截器验证。Redis 优化登录功能,利用 ThreadLocal 存储用户信息。此外,还包括文章模块的相关功能,如文章分类管理、
38 2
|
1月前
|
SQL XML Java
mybatis :sqlmapconfig.xml配置 ++++Mapper XML 文件(sql/insert/delete/update/select)(增删改查)用法
当然,这些仅是MyBatis功能的初步介绍。MyBatis还提供了高级特性,如动态SQL、类型处理器、插件等,可以进一步提供对数据库交互的强大支持和灵活性。希望上述内容对您理解MyBatis的基本操作有所帮助。在实际使用中,您可能还需要根据具体的业务要求调整和优化SQL语句和配置。
30 1
|
21天前
|
SQL 关系型数据库 MySQL
MySQL技术安装配置、数据库与表的设计、数据操作解析
MySQL,作为最流行的关系型数据库管理系统之一,在WEB应用领域中占据着举足轻重的地位。本文将从MySQL的基本概念、安装配置、数据库与表的设计、数据操作解析,并通过具体的代码示例展示如何在实际项目中应用MySQL。
62 0
|
1月前
|
SQL 安全 数据库
基于SQL Server事务日志的数据库恢复技术及实战代码详解
基于事务日志的数据库恢复技术是SQL Server中一个非常强大的功能,它能够帮助数据库管理员在数据丢失或损坏的情况下,有效地恢复数据。通过定期备份数据库和事务日志,并在需要时按照正确的步骤恢复,可以最大限度地减少数据丢失的风险。需要注意的是,恢复数据是一个需要谨慎操作的过程,建议在执行恢复操作之前,详细了解相关的操作步骤和注意事项,以确保数据的安全和完整。
59 0
|
2月前
|
前端开发 C# 设计模式
“深度剖析WPF开发中的设计模式应用:以MVVM为核心,手把手教你重构代码结构,实现软件工程的最佳实践与高效协作”
【8月更文挑战第31天】设计模式是在软件工程中解决常见问题的成熟方案。在WPF开发中,合理应用如MVC、MVVM及工厂模式等能显著提升代码质量和可维护性。本文通过具体案例,详细解析了这些模式的实际应用,特别是MVVM模式如何通过分离UI逻辑与业务逻辑,实现视图与模型的松耦合,从而优化代码结构并提高开发效率。通过示例代码展示了从模型定义、视图模型管理到视图展示的全过程,帮助读者更好地理解并应用这些模式。
57 0
|
2月前
|
SQL 数据处理 数据库
|
2月前
|
SQL 存储 调度
下一篇
无影云桌面