在Qt 中连接mysql

一.配置Qt环境

  (一)、安装vs2010

 (二)、下载安装Qt

                 http://qt-project.org/downloads

 (三)、安装vs插件

     qt-vs-addin-1.2.2-opensource.exe

   (四)、添加Qt Option

    打开vs2010, 菜单栏多出了qt这一项,打开子菜单Qt Options,检查是否有已经安装的Qt版本,如果没有的话则添加进来。如图:

    Qt菜单项

 

   Qt Options

 

二.安装mysql

     1.关于mysql的下载, 我在官方网站上并未下载成功,在oracle上面说我的帐户无权限,只得到民间网站上找一个。

        http://xiazai.zol.com.cn/detail/9/89874.shtml

 

     2.安装的过程中一路点击“下一步”,填写用户名和密码后,再继续直到安装成功。

 

     3. 在开始菜单中找到mysql的命令提示符,打开后会马上要求输入密码。密码正确的话会进入mysql;

         (1)查看数据库

                  show databases;

                 

           (2) 切换数据库

                    use  test

              (3)  创建一个表

                

             (4)插入一行数据

                 

三.编译mysql的连接驱动

       1. 进入Qt的数据库驱动插件目录 ,C:\Qt\4.8.5\src\plugins\sqldrivers\mysql,打开mysql.pro文件, 添加mysql的include目录和lib目录

                INCLUDEPATH +="d:\MYSQL\include"
                LIBS += "d:\mysql\lib\libmysql.lib

        2.接上一步,打开cmd , 执行qmake  -tp vc  mysql.pro , 在此目录下会生成一个mysql.vcxproj文件,用vs2010打开,按F7编译。如果能够编译成功的话,会生成qsqlmysqld4.dll 和qsqlmysqld4.lib,把它们拷到Qt的数据库驱动目录(C:\Qt\4.8.5\plugins\sqldrivers)中去。

       3. 如果不出意外的话就成功了。可是事情总不那么顺利,下面的两个小问题可能会经常出现。

  (1)“link error 无法打开libmysql.lib文件”

     我的办法是到mysql安装目录下的lib目录下拷libmysql.dll和libmysql.lib文件到vc的lib目录(C:\Program Files\Microsoft Visual Studio 10.0\VC\lib)。

   (2)“QMYSQL driver not loaded“”

     到MySQL/bin目录下的libmySQL.dll文件复制到Qt安装目录下的bin目录中

四. try it 

     1.编写源代码 main.cpp,如下:

       #include <QtSql>
       #include<QtGui>

   bool createConnection()
   {
        QSqlDatabase  db = QSqlDatabase::addDatabase("QMYSQL");
        db.setHostName("localhost");
        db.setDatabaseName("test");
        db.setUserName("root");
        db.setPassword("root");
        if(!db.open())
        {
           QMessageBox::critical(0,QObject::tr("Database Error"), db.lastError().text() );
           return false;  
         }
        return true;
     }

int main(int argc, char **  argv)
{
   QApplication  app(argc, argv);
   bool bConnection = createConnection();
   if(! bConnection)
   {
    return 0;
   }

   QSqlQuery  query;
   query.prepare("insert into t_test_employ (id, name)"
    "values(:id, :name)");
   query.bindValue(":id", "3");
   query.bindValue(":name","lisi");
   query.exec();
   return app.exec();
}

 


     2. 编写main.pro文件

         template = app
         sources = main.cpp
         QT += sql

      注意,编写操作数据库的程序时,要把sql模块配置进去

    3. 制作.vcxproj文件

        qmake -tp vc  main.pro

     4. 用vs 2010打开上一步产生的.vcxproj文件 ,打开后按F7生成。ctrl + F5运行后再回头查看数据库,可发现增加了一条记录。

         

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值