Qt连接SQLite数据库并查询

简介:

   下面的方法可以避免这种错误:
QSqlDatabasePrivate::addDatabase: duplicate connection name 'qt_sql_default_connection', old connection removed.

 
  1. //为了支持中文  
  2. QTextCodec::setCodecForTr(QTextCodec::codecForLocale());  
  3.  
  4. QSqlDatabase sqlDatabase;  
  5. //与数据库建立连接  
  6. if (QSqlDatabase::contains("my_conn"))  
  7. {  
  8.     sqlDatabase = QSqlDatabase::database("my_conn");  
  9. }  
  10. else 
  11. {  
  12.     sqlDatabase = QSqlDatabase::addDatabase("QSQLITE""my_conn");  
  13. }  
  14. //设置数据库名  
  15. sqlDatabase.setDatabaseName("my_database.db");  
  16. //打开数据库  
  17. if (!sqlDatabase.open())  
  18. {  
  19.     qDebug() << "Open database failed!";  
  20.     return;  
  21. }  
  22. QString query_str = "select * from my_table";  
  23. //查询数据库  
  24. QSqlQuery sqlQuery(query_str, sqlDatabase);  
  25. sqlQuery.exec();  
  26. while (sqlQuery.next())  
  27. {  
  28.     for (int i = 0; i < cnt; ++i)  
  29.     {  
  30.         qDebug() << sqlQuery.value(i).toString();  
  31.     }  
  32. }  
  33. // 关闭数据库  
  34. sqlDatabase.close(); 

 本文转自walker snapshot博客51CTO博客,原文链接http://blog.51cto.com/walkerqt/990874如需转载请自行联系原作者


RQSLT

相关文章
|
9月前
|
SQL Java 关系型数据库
Java连接MySQL数据库环境设置指南
请注意,在实际部署时应该避免将敏感信息(如用户名和密码)硬编码在源码文件里面;应该使用配置文件或者环境变量等更为安全可靠地方式管理这些信息。此外,在处理大量数据时考虑使用PreparedStatement而不是Statement可以提高性能并防止SQL注入攻击;同时也要注意正确处理异常情况,并且确保所有打开过得资源都被正确关闭释放掉以防止内存泄漏等问题发生。
443 13
|
9月前
|
SQL 关系型数据库 MySQL
MySQL数据库连接过多(Too many connections)错误处理策略
综上所述,“Too many connections”错误处理策略涉及从具体参数配置到代码层面再到系统与架构设计全方位考量与改进。每项措施都需根据具体环境进行定制化调整,并且在执行任何变更前建议先行测试评估可能带来影响。
1799 11
|
11月前
|
SQL XML Java
配置Spring框架以连接SQL Server数据库
最后,需要集成Spring配置到应用中,这通常在 `main`方法或者Spring Boot的应用配置类中通过加载XML配置或使用注解来实现。
787 0
|
数据安全/隐私保护 C++ 计算机视觉
Qt(C++)开发一款图片防盗用水印制作小工具
文本水印是一种常用的防盗用手段,可以将文本信息嵌入到图片、视频等文件中,用于识别和证明文件的版权归属。在数字化和网络化的时代,大量的原创作品容易被不法分子盗用或侵犯版权,因此加入文本水印成为了保护原创作品和维护知识产权的必要手段。 通常情况下,文本水印可以包含版权声明、制作者姓名、日期、网址等信息,以帮助识别文件的来源和版权归属。同时,为了增强防盗用效果,文本水印通常会采用字体、颜色、角度等多种组合方式,使得水印难以被删除或篡改,有效地降低了盗用意愿和风险。 开发人员可以使用图像处理技术和编程语言实现文本水印的功能,例如使用Qt的QPainter类进行文本绘制操作,将文本信息嵌入到图片中,
676 1
Qt(C++)开发一款图片防盗用水印制作小工具
|
监控 C++ 容器
【qt】MDI多文档界面开发
【qt】MDI多文档界面开发
932 0
|
C++
C++ Qt开发:QUdpSocket网络通信组件
QUdpSocket是Qt网络编程中一个非常有用的组件,它提供了在UDP协议下进行数据发送和接收的能力。通过简单的方法和信号,可以轻松实现基于UDP的网络通信。不过,需要注意的是,UDP协议本身不保证数据的可靠传输,因此在使用QUdpSocket时,可能需要在应用层实现一些机制来保证数据的完整性和顺序,或者选择在适用的场景下使用UDP协议。
1262 2

推荐镜像

更多
  • qt