Ubuntu12.04下Qt连接MySQL数据库
本文介绍在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(""); if(!db.open())
{
qDebug()<<db.lastError().text()<<endl;
return false;
} return a.exec();
}
参考:http://www.cnblogs.com/qianyuming/archive/2011/08/13/2137402.html
Ubuntu12.04下Qt连接MySQL数据库的更多相关文章
- Windows下Qt连接MySql数据库
1.设置环境变量,需添加如下的环境变量: 2.打开Qt Command Prompt,输入第一条命令:cd %QTDIR%\src\plugins\sqldrivers\mysql 后按回车 ...
- Qt连接mysql数据库遇到QMYSQL driver not loaded
本文件向各位博友分享一下我在Qt开发过程中,连接mysql数据库时遇到的问题,以及解决的方法,希望对遇到同样问题的博友有所帮助. 工程运行环境:vs2015+Qt5.8 在开发过程中,编写数据库连接函 ...
- Windows操作系统下远程连接MySQL数据库
用Eclipse做一个后台项目,但是数据库不想放在本地电脑,于是买了一个腾讯云服务器(学生有优惠,挺便宜的),装上MySQL数据库,但是测试连接的时候,发现总是连接不是上,但是本地数据库可以连接,于是 ...
- Mac下Qt连接MySQL 驱动问题
Mac OS X下Qt的mySQL driver编译安装 原创文章,采用CC协议发布,转载请注明: 转载自canX.me 本文链接地址: Mac OS X下Qt的mySQL driver编译安装 – ...
- python3下django连接mysql数据库
1.安装pymysql pip install pymysql 有一点需要注意,有的系统(比如ubuntu16.04)同时安装了python2和python3,而比较新的django需要在python ...
- CentOS 6.5 下 QT4 连接 mysql 数据库的步骤
QT4 的安装请参考: CentOS 6.5 下安装 QT 4 mysql 的安装请参考: CentOS 6.5 下安装配置 mysql 1. 预防万一,先安装一下mysql-devel(一定要装!) ...
- Mac下php连接mysql数据库失败解决办法
通过phpmyadmin连接mysql成功,但是通过php连接数据库失败,执行如下php语句 ? 1 @mysql_connect("localhost","root&q ...
- ubuntu14.04使用rails连接mysql数据库
rails自带的sqlite3各方面都不错,但是免费版缺少一个致命功能:加密码!虽说第三方有编译好的二进制版的加密版,但咱先不折腾鸟;直接上mysql吧. ubuntu安装mysql非常简单,先不聊; ...
- Linux下C连接MySql数据库
目录: 一.解决小的问题: 二.大问题,如果你不小心把/usr/lib的所属用户改了导致sudo命令用不了: 三.C连接MySql编程本身: 其实写这个程序真的很简单,十多分钟的事情,只是以前没在Li ...
随机推荐
- webpack 中使用 vue-router 注意
//render 会把el指定的容器中所有的内容都清空把#app也会去掉 都在c(app)其中的app组件中展示 所有router-link router-view要写在app这个组件里面 //A ...
- pandas 常用清洗数据(三)排序,去重
1.排序 DataFrame 按照Index排序 Series.order()进行排序,而DataFrame则用sort或者sort_index或者sort_values 2.去重, dt = dt. ...
- c#中连接数据库
配置文件web.config: <connectionStrings> <add name="eport" connectionString="Data ...
- Dao层向sql语句传递多个参数
手动封装: serviceImpl层 Map<String, Object> params = new HashMap<String, Object>(2);params.pu ...
- 如何获得scala的帮助和退出
scala> :helpAll commands can be abbreviated, e.g., :he instead of :help.:edit <id>|<line ...
- Numpy数据处理函数
Numpy函数介绍 import numpy as np #sqrt 计算各元素的平方根 arr = np.arange(10) np.sqrt(arr) array([0. , 1. , 1.414 ...
- 在window下搭建Vue.Js开发环境(转)
nodejs官网http://nodejs.cn/下载安装包,无特殊要求可本地傻瓜式安装,这里选择2017-5-2发布的 v6.10.3 cmd命令行: node -v //显示node版本 v6.1 ...
- 【MongoDB】关于无法连接mongo的问题
今天使用MongoDB的时候发现直接输入mongo提示连接失败 首先想到的可能是服务还没启动 当我随便打开一个cmd输入net start MongoDB 提示:net start mongodb 发 ...
- 常用的jquerymobil 站点
http://www.jqmapi.com/api1.2/ Jquery Mobile 中文API站 https://codiqa.com/demo jquerymobil UI编辑器 https ...
- cnpm安装
npm install -g cnpm --registry=https://registry.npm.taobao.org 如果安装失败,可以使用 npm cache clean 清理缓存,然后再重 ...