Ubuntu12.04下Qt连接MySQL数据库

  本文介绍在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("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

时间: 2024-08-10 15:43:45

Ubuntu12.04下Qt连接MySQL数据库的相关文章

Windows下Qt连接MySql数据库

1.设置环境变量,需添加如下的环境变量: 2.打开Qt Command Prompt,输入第一条命令:cd %QTDIR%\src\plugins\sqldrivers\mysql 后按回车,然后输入第二条命令: qmake "INCLUDEPATH+=C:\MySQL\include","LIBS+=C:\MySQL\lib\opt\libmysql.lib" mysql.pro 最后输入:mingw32-make 进行编译. 或者如下图所示,在.pro文件中添加

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

用Eclipse做一个后台项目,但是数据库不想放在本地电脑,于是买了一个腾讯云服务器(学生有优惠,挺便宜的),装上MySQL数据库,但是测试连接的时候,发现总是连接不是上,但是本地数据库可以连接,于是上网搜索发现,mysql 数据库默认的连接只能在本机连接,远程连接必须授权. 远程连接权限配置: 进到你的MySQL\MySQL Server 5.5\bin文件夹下(注:Windows操作系统下doc命令进入) C:\Program Files\MySQL\MySQL Server 5.5>cd

在Linux下php连接mysql数据库遇到2002错误

用thinkphp连接mysql数据库的时候出现了这样一个错误: SQLSTATE[HY000] [2002] No such file or directory 这是因为在 php.ini 配置文件中未指定mysql.sock(或mysqld.sock)文件路径导致的PDO无法连接数据库 在 php.ini 文件中配置以下三项 mysql.default_socket = /tmp/mysql.sockpdo_mysql.default_socket= /tmp/mysql.sockmysql

QT连接MYSQL数据库教程

最近购买了阿里云Linux服务器,处于自学需要安装了MYSQL5.7. 准备用QT开发个小工具,在使用QT提供的标准类连接MYSQL库的时候一直爆出无法加载MYSQL驱动的问题. 软件环境是windows10 +Qt4.8.7+mingw+qtcreator,在Qt4这个版本中不包含MYSQL数据的驱动,需要手动编译.网上的其他教程一般是针对MYSQL5.5这个版本,编译的时候需要用到/lib/opt路径下的lib文件(习惯Linux系统路径格式了,windows格式请脑补),经过多次尝试已然无

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

通过phpmyadmin连接mysql成功,但是通过php连接数据库失败,执行如下php语句 ? 1 @mysql_connect("localhost","root","12345") or die ("数据库服务器连接失败");// 连接服务器 之后,浏览器输出数据库服务器连接失败,下文为解决办法. 1.Mac的MySql安装路径为,*为版本号,是数字. ? 1 /usr/local/mysql_******_osx10.

linux下tomcat连接mysql数据库

一.下载安装jdk,并配置Java环境官网下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html以jdk-7u79-linux-i586.tar.gz为例:将jdk-7u79-linux-i586.tar.gz解压并放在/usr/local/下:解压方法(tar -zxvf jdk-7u79-linux-i586.tar.gz)以下类似 配置环境变量:在 /etc/profile添加一下语句: export

ubuntu16.04下安装的mysql数据库问题

1 字符集问题 问题:在django中执行./manage.py createdb命令后出现: django.db.utils.OperationalError: (1366, "Incorrect string value: '\\xC4\\x9A\\xC2\\x81vi...' for column 'file' at row 1") 查看mysql数据库: mysql> show variables like '%char%'; +---------------------

python3下django连接mysql数据库

1.安装pymysql pip install pymysql 有一点需要注意,有的系统(比如ubuntu16.04)同时安装了python2和python3,而比较新的django需要在python3下运行,所以在安装pymysql时可能要使用命令 pip3 install pymysql 进行安装. 2.修改项目settings.py 找到并修改DATABASES为如下形式: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.m

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

QT4 的安装请参考: CentOS 6.5 下安装 QT 4 mysql 的安装请参考: CentOS 6.5 下安装配置 mysql 1.预防万一,先安装一下mysql-devel(一定要装!). 不安装的话后面编译会出现找不到-lmysqlclient的问题. 2. 开始编译: cd $QTDIR/src/plugins/sqldrivers/mysql   //进入QT那个存放mysql驱动源码的目录`` qmake "INCLUDEPATH+=/usr/include/mysql&qu