本文介绍在Ubuntu12.04 (64 bit) 下使用Qt 4.8.2连接MySQL(Ver 14.14 Distrib 5.5.43)数据库。

1、安装 Qt 和 MySQL

  若未安装以上软件,可参考我的博客安装。

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数据库的更多相关文章

  1. Windows下Qt连接MySql数据库

    1.设置环境变量,需添加如下的环境变量:      2.打开Qt Command Prompt,输入第一条命令:cd %QTDIR%\src\plugins\sqldrivers\mysql 后按回车 ...

  2. Qt连接mysql数据库遇到QMYSQL driver not loaded

    本文件向各位博友分享一下我在Qt开发过程中,连接mysql数据库时遇到的问题,以及解决的方法,希望对遇到同样问题的博友有所帮助. 工程运行环境:vs2015+Qt5.8 在开发过程中,编写数据库连接函 ...

  3. Windows操作系统下远程连接MySQL数据库

    用Eclipse做一个后台项目,但是数据库不想放在本地电脑,于是买了一个腾讯云服务器(学生有优惠,挺便宜的),装上MySQL数据库,但是测试连接的时候,发现总是连接不是上,但是本地数据库可以连接,于是 ...

  4. Mac下Qt连接MySQL 驱动问题

    Mac OS X下Qt的mySQL driver编译安装 原创文章,采用CC协议发布,转载请注明: 转载自canX.me 本文链接地址: Mac OS X下Qt的mySQL driver编译安装 – ...

  5. python3下django连接mysql数据库

    1.安装pymysql pip install pymysql 有一点需要注意,有的系统(比如ubuntu16.04)同时安装了python2和python3,而比较新的django需要在python ...

  6. CentOS 6.5 下 QT4 连接 mysql 数据库的步骤

    QT4 的安装请参考: CentOS 6.5 下安装 QT 4 mysql 的安装请参考: CentOS 6.5 下安装配置 mysql 1. 预防万一,先安装一下mysql-devel(一定要装!) ...

  7. Mac下php连接mysql数据库失败解决办法

    通过phpmyadmin连接mysql成功,但是通过php连接数据库失败,执行如下php语句 ? 1 @mysql_connect("localhost","root&q ...

  8. ubuntu14.04使用rails连接mysql数据库

    rails自带的sqlite3各方面都不错,但是免费版缺少一个致命功能:加密码!虽说第三方有编译好的二进制版的加密版,但咱先不折腾鸟;直接上mysql吧. ubuntu安装mysql非常简单,先不聊; ...

  9. Linux下C连接MySql数据库

    目录: 一.解决小的问题: 二.大问题,如果你不小心把/usr/lib的所属用户改了导致sudo命令用不了: 三.C连接MySql编程本身: 其实写这个程序真的很简单,十多分钟的事情,只是以前没在Li ...

随机推荐

  1. webpack 中使用 vue-router 注意

    //render 会把el指定的容器中所有的内容都清空把#app也会去掉 都在c(app)其中的app组件中展示 所有router-link router-view要写在app这个组件里面   //A ...

  2. pandas 常用清洗数据(三)排序,去重

    1.排序 DataFrame 按照Index排序 Series.order()进行排序,而DataFrame则用sort或者sort_index或者sort_values 2.去重, dt = dt. ...

  3. c#中连接数据库

    配置文件web.config: <connectionStrings> <add name="eport" connectionString="Data ...

  4. Dao层向sql语句传递多个参数

    手动封装: serviceImpl层 Map<String, Object> params = new HashMap<String, Object>(2);params.pu ...

  5. 如何获得scala的帮助和退出

    scala> :helpAll commands can be abbreviated, e.g., :he instead of :help.:edit <id>|<line ...

  6. Numpy数据处理函数

    Numpy函数介绍 import numpy as np #sqrt 计算各元素的平方根 arr = np.arange(10) np.sqrt(arr) array([0. , 1. , 1.414 ...

  7. 在window下搭建Vue.Js开发环境(转)

    nodejs官网http://nodejs.cn/下载安装包,无特殊要求可本地傻瓜式安装,这里选择2017-5-2发布的 v6.10.3 cmd命令行: node -v //显示node版本 v6.1 ...

  8. 【MongoDB】关于无法连接mongo的问题

    今天使用MongoDB的时候发现直接输入mongo提示连接失败 首先想到的可能是服务还没启动 当我随便打开一个cmd输入net start MongoDB 提示:net start mongodb 发 ...

  9. 常用的jquerymobil 站点

    http://www.jqmapi.com/api1.2/ Jquery Mobile 中文API站 https://codiqa.com/demo   jquerymobil UI编辑器 https ...

  10. cnpm安装

    npm install -g cnpm --registry=https://registry.npm.taobao.org 如果安装失败,可以使用 npm cache clean 清理缓存,然后再重 ...