zoukankan      html  css  js  c++  java
  • Qt Mysql驱动编译过程

    1.首先当然是要有VS2008+Qt4.7的开发环境。

    2.安装MySQL,最好是4以后的版本,安装MySQL时要勾住“C Include Files 和 Lib Files”选项,这样才能装上MySQL的头文件和链接库。(或者选择FULL安装)

    3.由于MySQL先天的路径问题(就是它的路径里面有空格),我们需要把它的include和lib目录复制出来,放在一个没有空格的目录下。

        在C盘建立Mysql5.5文件夹,把include和lib放进去。

    4. 打开Qt Command Prompt 窗口,输入命令:

    cd  C:Qt4.7.4srcpluginssqldriversmysql

    5. 输入命令:

    qmake -o "INCLUDEPATH+=C:Mysql5.5include" "LIBS+=C:Mysql5.5libmysql.lib" mysql.pro

            这里面的路径就是第3步里面创建的目录

    6.输入命令: nmake release debug

          到这里,其实MySQL的驱动已经编译完了,但是可能编译出来的动态链接库没有自动拷贝到C:Qt4.7.4pluginssqldrivers 中去。没关系,我们手动拷贝如下:

    【拷贝1】将编译生成的mysql驱动

       C:Qt4.7.4srcpluginssqldriversmysql elease和

       C:Qt4.7.4srcpluginssqldriversmysql eleasedebug   里面把qsqlmysql4.dll、qsqlmysql4.lib、qsqlmysqld4.dll、qsqlmysqld4.lib拷到 c:Qt4.7.4pluginssqldrivers 里面就行了。

    【拷贝2】将libmysql.dll拷贝到C:Qt4.7.4in。

    下面可以进行Qt数据库的测试例子了:

    int main(int argc, char *argv[])

    {

       

        QApplication app(argc, argv);

        qt_mysql w;

        QTextCodec::setCodecForTr(QTextCodec::codecForName("gbk")); //设置tr()编码。

         QSqlQueryModel *model;

         QTableView *table=new QTableView;

        QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");

        db.setHostName("10.3.2.84");   //数据库服务器

         db.setDatabaseName("petct");   //数据库名

         db.setUserName("admin");      //登录名

         db.setPassword("admin");    //密码

        if(db.open())

         {

              QSqlQuery query;

             query.exec("update patient_basic_info set sex ='m 'where patient_id = 3");

             query.exec("DELETE FROM patient_basic_info where patient_id = 3");

              query.exec("SELECT patient_id , patient_name,ID_card_no,sex FROM patient_basic_info");//name为属性名;

            query.next();

            QString name = query.value(1).toString();                                                                                 w.ui.patient_name_text->setText(name);

             model=new QSqlQueryModel;

             model->setQuery(query);

             table->setModel(model);

          }

          else

          {

            // 数据库打开失败,显示数据库返回的失败信息

            QMessageBox::critical(0,QObject::tr("数据库打开失败"),db.lastError().text());

           }

        w.show();

         QApplication::connect(&app, SIGNAL(lastWindowClose()), &app, SLOT(quit()));

         return app.exec();

    }

    附件使用,

    1、将libmysql.dll拷贝到C:Qt4.7.4in 这样Qt驱动可以调用mysql,打开数据库

    2、将qsqlmysql4.dll、qsqlmysql4.lib、qsqlmysqld4.dll、qsqlmysqld4.lib拷贝到C:Qt4.7.4pluginssqldrivers 这就是Qt mysql的驱动

  • 相关阅读:
    Stl源码剖析读书笔记之Alloc细节
    Lua热更系统
    Linux C++线程池
    linux sort,uniq,cut,wc.
    (转)Linux grep
    用LogParser分析IIS请求压力
    (转)MySQL主从复制的常见拓扑、原理分析以及如何提高主从复制的效率总
    AIS相关资料
    python学习笔记
    (转)MySQL InnoDB修复笔记
  • 原文地址:https://www.cnblogs.com/jevonsea/p/3411408.html
Copyright © 2011-2022 走看看