解析关于QT 数据库中一些实现案例

移动开发
关于QT 数据库中一些实现案例是本文要介绍的内容,。主要是来了解一下QT中数据库的操作,也是一些小案例的实现,具体来看详细内容。

关于QT 数据库中一些实现案例是本文要介绍的内容,。主要是来了解一下QT数据库的操作,也是一些小案例的实现,具体来看详细内容。

1、QT4读取数据库中文字符串乱码的解决方法

将c:\qt\4.6.2\src\sql\drivers\mysql\qsql_mysql.cpp文件中的

  1. mysql_set_character_set(d->mysql, "utf8"); 

改为

  1. mysql_set_character_set(d->mysql, "gbk"); 

重新编译驱动及解决。

2、Qt中连接Mysql数据库的方法

Qt中连接mysql数据库并不复杂,Qt帮助中也有详细的代码例子,现举例如下:

  1.  QSqlDatabase m_defDB = QSqlDatabase::addDatabase( "QMYSQL" );  
  2.  m_defDB.setHostName( "localhost" );  
  3.  m_defDB.setDatabaseName( "MyDB" );  
  4.  m_defDB.setUserName( "root" );  
  5.  m_defDB.setPassword( "123456" );  
  6. if ( ! m_defDB.open() )  
  7. {  
  8.    QMessageBox::critical(NULL, "Error Information", m_defDB.lastError().text(), MessageBox::Ok ,QMessageBox::Cancel );  
  9. }  
  10. return true; 

事实上你按这这段代码作是连接不上mysql的,你得到只是一出错信息

  1. “Can't create TCP/IP socket(10093 QMYSQL)”, 

使你不知所措,其实这可能是qt的一个bug,你可以尝试连接另一数据库,如"QPSQL"不管成功与否,再连接mysql,你会发现连接成功了!

正如错误信息所示:TCP/IP socket 出错了,你在连接数据库之前应该先做初始化,代码如下: #include "winsock2.h"

  1. #include "windows.h"  
  2. WSAData wsadata;  
  3. if (WSAStartup(MAKEWORD(2,0), &wsadata) != 0)  
  4. {  
  5.   qFatal("WSA Startup failed");  

程序编译时,在工程中增加附加依赖项 Ws2_32.lib Ok,相信看到这里,你就可以在轻松的连接mysql数据库了.

小结:解析关于QT 数据库中一些实现案例的内容介绍完了,希望通过本文的学习能对你有所帮助!

责任编辑:zhaolei 来源: 互联网
相关推荐

2010-06-30 10:23:27

SQL Server数

2011-06-16 14:28:08

Qt Symbian 文件

2011-07-19 13:49:19

Objective-C 数据类型

2011-06-24 14:46:23

Qt

2021-09-07 10:12:25

分布式数据库集群

2010-08-31 14:13:48

DB2数据库

2011-08-30 15:10:46

Qt图片数据库

2020-08-07 08:04:03

数据库MySQL技术

2019-10-18 09:25:45

Python苹果公司算法

2011-08-15 14:52:07

数据库登录名数据库用户名

2011-07-29 15:58:53

SGAOracle

2018-07-27 18:20:31

数据库MySQL 数据库建表

2011-07-27 15:01:48

MySQL数据库内存表

2011-03-10 13:19:47

Oracle数据库

2021-09-15 09:51:36

数据库架构技术

2011-07-19 18:11:09

iPhone 开发

2022-05-24 12:50:58

Pandas索引代码

2017-05-23 14:33:46

简历求职前端开发

2021-01-25 09:20:04

数据库架构分布式

2013-03-29 09:03:59

iOS实用小代码iOS开发
点赞
收藏

51CTO技术栈公众号