之前用C语言连了mysql数据库,因为项目毕竟是用QT包装的,还需要在qt的界面里显示,所以这一次就用QT来连一下mysql。
首先说一下我的电脑是ubuntu10.10;之前安装了QT的linux全部套件(包括qtcreator),也安装了嵌入式qt的那三个编译环境(X11,X86,ARM),但是这一次我只用qtcreatot里的qmake编译(以为之前编译完那三个环境后,我就把编译文件夹全删了)。
首先,安装mysql客户端(mysql-devel),和C语言连接一样,执行命令:
sudo apt-get install libmysqlclient-dev
或
sudo apt-get install libmysqlclient15-dev
因为我之前安装过,所以这一步就省略了。
然后,连接mysql数据库肯定要有驱动,这个在qt的源码里就有:进入文件夹:
cd QTDIR/src/plugins/sqldrivers/mysql 这就是qt存放mysql驱动源码的目录
目录里应该有main.cpp 和moc_qsql_mysql.cpp两个文件
执行命令:
qmake -project 生成mysql.pro文件,可能这一步会说你没有权限,那么chmod给它权限就可以了
qmake "INCLUDEPATH+=/usr/include/mysql" "LIBS+=-L/usr/lib/mysql -lmysqlclient_r" mysql.pro
/usr/include/mysql mysql所有头文件所在的位置,mysql.h就在此处
/usr/lib/mysql mysql库的位置
然后,执行命令:
make
sudo make install
此时,在QTDIR/src/plugins/sqldrivers/mysql 这个目录下,就生成了一个文件:libqsqlmysql.so;把它拷贝到QTDIR/plugins/sqldrivers, 目录下面;
现在开始编程:
随便建工程:
加入如下代码:
#include <QtSql>
#include <QMessageBox>
#include <QTextStream>
QTextStream out(stdout);
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setDatabaseName("test");
db.setUserName("root");
db.setPassword("xxxxxx");
if(!db.open())
{
QMessageBox::critical(0,QObject::tr("Database Error"),db.lastError().text());
return a.exec();
}
QSqlQuery query;
query.exec("SELECT * FROM t_homedata");
while(query.next())
{
QString id = query.value(0).toString();
QString type = query.value(1).toString();
QString data = query.value(2).toString();
out << id << ", " << type << ", " << data <<endl;
}
注意,这段代码,是我加入到工程中的,恩,我就放在main.cpp里;#include <QtSql>这个是必须的;#include <QTextStream>这个是用来进行控制台打印输出的,我的数据库名为test,中间有一个表叫
t_homedata,表里有三个varchar型字段:
其打印结果为:
写道
100010, 23, 32.45
100011, 12, 99
100012, 11, 35.10
注意,再进行工程的编译和运行之前(恩,因为我的电脑里实际有4个qt编译环境,所以还需要再qtcreator的project选项里设置该项目的编译器,我的编译器设置为qt-opensource,即qtcreator自带的,因为我之前所进行的mysql驱动编译也都是再qtcreator的安装目录里进行的),一定别忘了在工程的.pro文件里加上下面一行:
QT += sql
恩,qt 帮助文档里就是这么说的:
To include the definitions of the module's classes, use the following directive:
#include <QtSql>
To link against the module, add this line to your qmake .pro file:
QT += sql
分享到:
相关推荐
linux下QT连接mysql数据库.doc
linux下QT连接mysql数据库[定义].pdf
linux下QT连接mysql数据库.docx
Qt下一个简单的连接mysql数据库例子。
linux下QT图形编程连接MYSQL数据库的学生管理系统
QT连接数据库成功,带有数据的测试代码,已经运行成功!
将该文件去掉名称前面的QT版本之后,替换到 QT安装路径 /gcc_64/plugins/sqldrivers
编译运行Qt连接MySQL数据库程序的时候,控制台会报如下错误:QSqlDatabase: QMYSQL driver not loaded,原因在于Mysql驱动libqsqlmysql.so未能成功安装,linux版本下只安装了sqlite驱动,Mysql驱动需根据安装数据库...
windows 平台下的qt 连接mysql数据库所需的驱动。
安装MySQL Linux下完整的MySQL开发需要安装服务器端,如果安装客户端也没什么不好。直接在软件中心搜mysql,把client和server选上。 server在安装时会提示为root用户设置密码,设一个好了。 我使用的是mysql5.1版本,...
该系统是在Linux下用qt开发的,数据库连接的是mysql, 有基本功能,同时具备书籍循环使用功能,附带有开发的文档
用Qt 做了一个Demo 实现MySQL数据库增删改查的功能. 页面和说明可以看这里 https://blog.csdn.net/howard789/article/details/100837934
利用qt5实现mysql的增删改查和遍历基本操作。
在linux平台用Qt实现在mysql数据库上的基本操作:插入,删除,修改等功能
分别编译pc机和ARM开发板的QT下的mysql驱动,并且在ARM开发板上访问数据库成功。
《Linux环境下Qt4图形界面与MySQL编程》在Linux操作系统环境下,图形界面与数据库编程技术越来越受到广泛重视。《Linux环境下Qt4图形界面与MySQL编程》以“图形界面编程控件与数据库编程基础→简单易学的实例→实际...
《Linux环境下Qt4图形界面与MySQL编程》在Linux操作系统环境下,图形界面与数据库编程技术越来越受到广泛重视。《Linux环境下Qt4图形界面与MySQL编程》以“图形界面编程控件与数据库编程基础→简单易学的实例→实际...
Linux环境下Qt4图形界面与MySQL 源代码 很方便初学者学习linux qt4 数据库
解决Linux下QT 连接MYSQL数据库时的错误 QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QPSQL QPSQL7