本文介绍在Ubuntu12.04 (64 bit) 下使用Qt 4.8.2连接MySQL(Ver 14.14 Distrib 5.5.43)数据库。
1、安装 Qt 和 MySQL
若未安装以上软件,可参考我的博客安装。
- 安装Qt:Ubuntu12.04下安装Qt4总结 --> http://www.cnblogs.com/gaohongchen01/p/4204860.html
- 安装MySQL:Ubuntu12.04下安装Apache+PHP+MySQL --> http://www.cnblogs.com/gaohongchen01/p/3710992.html
2、安装Qt的MySQL驱动
下载安装包 libqt4-sql-mysql_4.8.1-0ubuntu4.8_amd64.deb
sudo apt-get download libqt4-sql-mysql
解压安装包
ar -x libqt4-sql-mysql_4.8.1-0ubuntu4.8_amd64.deb
解压 data.tar.lzma 文件 出现 data.tar 文件
lzma -dk data.tar.lzma
解压 data.tar 文件
tar -xvf data.tar
将解压出的 libqsqlmysql.so 文件拷贝到QtSDK lib搜索目录下的sqldrivers文件夹下即可。
QtSQK lib搜索目录可通过以下Qt程序得到:
qDebug() << QCoreApplication::libraryPaths();
3、编写Qt程序连接MySQL
对于使用SQL类的应用程序,需将如下的命令行添加到其.pro文件中:
QT += sql
编写控制台应用程序,main.c中的程序为:
#include <QCoreApplication> #include<QtSql/QSqlDatabase> #include<QtSql/QSqlError> #include<QtSql/QSqlQuery> #include<QTextCodec> #include<QtDebug> #include<QStringList> #include<iostream> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale()); //QTextCodec::setCodecForTr(QTextCodec::codecForLocale()); //QTextCodec::setCodecForLocale(QTextCodec::codecForLocale()); //QCoreApplication::addLibraryPath("/usr/lib/i386-linux-gnu/qt4/plugins/"); qDebug() << QCoreApplication::libraryPaths(); qDebug() << QSqlDatabase::drivers(); QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL"); db.setHostName("localhost"); db.setDatabaseName("ghcDB"); db.setUserName("root"); db.setPassword("123456"); if(!db.open()) { qDebug()<<db.lastError().text()<<endl; return false; } return a.exec(); }
参考:http://www.cnblogs.com/qianyuming/archive/2011/08/13/2137402.html