QT链接数据库

2018-06-17 22:45:09来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

在介绍QT与数据的链接问题上,我在这里就不介绍关于QT环境与mysql、sqlite3环境的安装步骤了,以下的所有的操作都是建立在你已经安装了所有环境的基础上的。好的,那我们就具体来看一看QT环境中怎么与数据进行链接

一、QT链接sqlite3:

  QT链接sqlite3比较简单,比如你在你的计算机上已经创建了一个叫users的数据库,这时你需要在QT创建一个项目,在进行数据库的链接之前需要在工程文件(也就是你的.pro文件)中添加

QT   +=    sql

他表示在QT中增加对数据的支持,接下来在项目中增加如下代码:

1     db = QSqlDatabase::addDatabase ("QSQLITE");
2     db.setDatabaseName ("users");
3     if(!db.open ()){
4         qDebug() << db.lastError ().text ();
5     }else{
6         qDebug() << "open database sucessful";
7     }
View Code

当然这边的db是声明在头文件的一个QSqlDatabase的一个类型,这样如果你按上边的写法去做的话,你会发现,你打开数据是100%成功,因为,在打开数据的时候,如果没有他会在你的项目的构建文件中默认创建一个为空的users的数据库文件,如下图:

所以你必须要将操作的数据库文件放到该目录下就可以了。。。

二、QT链接mysql数据库

  因为mysql数据库的操作是无法将数据库文件放到构建目录下的,所以他和sqlite3链接QT有些许的不同,QT链接mysql的的代码为:

 1     db = QSqlDatabase::addDatabase ("QMYSQL");  //mysql的数据库驱动
 2     db.setUserName ("root");                    //设置操作数据库用户名
 3     db.setPassword ("12345");                   //用户密码
 4     db.setHostName ("127.0.0.1");               //设置主机名,我们这边测试使用本机地址
 5     db.setDatabaseName ("wyf");                 //设置操作的数据库名字
 6     db.setPort (33333);                         //设置端口号(一般默认为3306,我进行了手动的更改)
 7     if(!db.open()){
 8         qDebug() << db.lastError ().text ();
 9     }else{
10         qDebug() << "open database sucessful";
11     }
View Code

  你会发现链接不上mysql数据库,会有如下的提示:

QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7
"Driver not loaded Driver not loaded"

  这时你需要把mysql的安装路径,找到mysql的驱动程序libmysql.dll

将他拷贝到你的项目中的可执行文件的目录下:

接下来,再次运行程序,发现已经可以链接上了。。。

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:1225 八数码难题

下一篇:读书笔记 effective c++ Item 53 关注编译器发出的警告