广

MYSQL

  • MYSQL
  • MSSQL
  • Redis
  • MongoDB
  • oracle数据库
  • 数据管理

    ubuntu linux下使用Qt连接MySQL数据库的方法

    2018-09-28 15:13:17 次阅读 稿源:互联网
    零七网广告
    全网推广平台,软文发布
    环境说明:
    ubuntu 10.04.2
    QtSDK (1.5G安装包的那个)
    mysql5.1
    1.安装MySQL
    Linux下完整的MySQL开发需要安装服务器端,如果安装客户端也没什么不好。直接在软件中心搜mysql,把client和server选上。
    server在安装时会提示为root用户设置密码,设一个好了。
    我使用的是mysql5.1版本,用户名密码存储在一个叫mysql的数据库里,只有管理员级别才能看到。
    如果直接在终端中输入 mysql,可能会提示ERROR 1045 (28000),这是因为这时候你是以自己用户名访问数据库,而目前数据库中只有一个root用户。没关系,如果有必要,可以添加一个用户进去:
    mysql -uroot -p -->以root用户登录
    grant usage on *.* to dummy@localhost; -->授权名为dummy的用户本地登录,这里换成自己的用户名就可以了
    不过这时候直接mysql只有普通的权限,创建数据库、操作mysql都是不可以的,如果真有将其赋予管理员权限的需要,可以自己查阅有关资料。
    2.安装Qt的MySQL驱动。
    方法一:直接sudo apt-get install libqt4-sql-mysql ,这是Qt4的mysql驱动,就不用自己费劲编译了,不过可能会额外下载一些东西。
    将 /usr/lib/qt4/plugins/sqldrivers/libqsqlmysql.so拷贝到你的QtSDK sqldrivers目录下,我当时是直接用普通权限安装,目录为:~/QtSDK/Desktop/Qt/473/gcc/plugins/sqldrivers
    方法二:其实你也可以sudo apt-get download libqt4-sql-mysql,把包解压缩,然后把里面的so文件搜出来直接拷贝到那里。
    方法三:乖乖按照官方方法编译,但是貌似可行性不大,因为新版本的QtSDK并没有src目录,默认也没有mysql的驱动。
    3.做个demo试一下
    记得在pro文件中 QT +=那里加上sql,否则qmake是不会去找sql的相关部分的
    代码如下:

    #include <QtCore/QCoreApplication>
    #include <QSqlDatabase>
    #include <QDebug>
    int main(int argc, char *argv[])
    {
    QCoreApplication a(argc, argv);
    QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");
    db.setHostName("localhost");
    db.setDatabaseName("study");
    db.setUserName("root");
    db.setPassword("tyh");
    if(!db.open()){
    qDebug()<<"Unable to open database";
    }else{
    qDebug()<<"Database connection established";
    }
    return a.exec();
    }

    这里study这个数据库之前我已经创建过了,如果连接成功,就会显示Database connection established。 我是建立的控制台程序哈。

    零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。

    零七网广告
    零七网广告
    零七网广告
    零七网广告