• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Qt Mysql驱动编译过程以及驱动上载

mysql 搞代码 7年前 (2018-06-04) 168次浏览 已收录 0个评论

Qt mysql驱动编译过程以及驱动下载

Qt编译MySQL驱动

1.首先当然是要有VS2008+Qt的开发环境。
2.
安装MySQL,最好是4以后的版本,安装MySQL时要勾住“C Include Files Lib Files”选项,这样才能装上MySQL的头文件和链接库。
3.
由于MySQL先天的路径问题(就是它的路径里面有空格),我们需要把它的includelib目录复制出来,放在一个没有空格的目录下。
   
比如在C盘建立mysql文件夹,把includelib放进去。
4.
lib/opt/libmysql.dll放到一个环境变量能认识的地方,否则会造成驱动加载时,找不到这个dll文件。
5.
在环境变量PATH中加入C:/Program Files/Microsoft SDKs/Windows/v6.0A/Bin,否则有可能在编译过程中发生rc.exe错误。
    
剩下的就都是在命令行下执行了:
6. 
执行 C:/Program Files/Microsoft Visual Studio 9.0/Common7/Tools/vsvars32.bat
    
这个批处理文件的作用是设置环境变量的批处理,由于该批处理仅设置本次命令行窗口中的环境变量,并未修改注册表,所以每次打开个新命令行窗口都要运行一次批处理才可获得其中包含的环境变量设置,所以执行完后,不要关闭该命令行窗口, 剩下的操作依然在这个窗口中进行。
7. cd  C:/Qt/4.7.4/src/plugins/sqldrivers/mysql/
8. qmake -o “INCLUDEPATH+=c:/MySQL/include” “LIBS+=c:/MySQL/lib/opt/libmysql.lib” mysql.pro
   
这里面的路径就是第3步里面创建的目录
   
注意上面的opt目录,我在用5.5版本的MySQL的时候就没有这个目录,libmysql.lib就在lib地下,所以这种情况就不用加opt了。

9. nmake release debug
    到这里,其实MySQL的驱动已经编译完了,但是可能编译出来的动态链接库没有自动拷贝到 C:/Qt/4.7.3/plugins/sqldrivers 中去,没关系,我们手动从
    C:/Qt/4.7.3/src/plugins/sqldrivers/mysql/release
C:/Qt/4.7.3/src/plugins/sqldrivers/mysql/release/debug
   
里面把qsqlmysql4.dllqsqlmysql4.libqsqlmysqld4.dllqsqlmysqld4.lib拷到 c:/Qt/4.7.3/plugins/sqldrivers 里面就行了(非常重要)

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:/Qt/4.7.4/bin 这样Qt驱动可以调用mysql,打开数据库

2、将qsqlmysql4.dll、qsqlmysql4.lib、qsqlmysqld4.dll、qsqlmysqld4.lib拷贝到C:/Qt/4.7.4/plugins/sqldrivers 这就是Qt mysql的驱动

 

 


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Qt Mysql驱动编译过程以及驱动上载

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址