qt连接mysql(windows)

生成qsqlmysql4.dll  libqsqlmysql4.a qsqlmysql4.dll libqsqlmysqld4.a 方法:

1)将MYSQL/MySQL Server 5.5/lib/opt下的libmysql.dll复制到system32目录(我直接搜索的)。

2)打开QT/QT/SRC/PLUGINS/SQLDRIVERS/MYSQL下的mysql.pro文件,在第二行加入:

INCLUDEPATH += "D:/Program Files/MySQL/MySQL Server 5.1/include" 

LIBS += "D:/Program Files/MySQL/MySQL Server 5.1/lib/opt/libmysql.lib" 

(具体视情况而定,我用的方法是先搜索,然后打开所在的文件夹,然后拷贝地址栏内容。。。)

编译后,只要没报错误就行。可以搜索下QT的安装目录里边有没有qsqlmysql4.dll  libqsqlmysql4.a qsqlmysql4.dll libqsqlmysqld4.a 这四个文件。

在编译的时候可能会找不到mysql.h这个文件,因为在MYSQL里边,去找吧,我比较懒直接把全部文件COPY了一遍,比较正常的做法是COPY需要的就行,更好的就是加个路径,呵呵。

#include <QApplication>
#include <QtSql\QSqlDatabase>
#include <QtDebug>
#include <QSqlError>
#include <QSqlQuery>
#include <QVariant>

int main(int argc, char* argv[])
{
    QApplication a(argc,argv);

    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    db.setHostName("localhost");
    db.setPort(3306);
    db.setDatabaseName("test");
    db.setUserName("root");
    db.setPassword("123456");

    if(db.open())
    {
        qDebug("success");
    }

    QSqlQuery query;
    query.exec("show tables;");
    while(query.next())
    {
        QString str = query.value(0).toString();
        qDebug() << str;
    }
   
    return 0;
}

 

*.PRO文件中加上QT += sql

运行结果:

Starting D:\CPP\QtProgram\linkmysql\main\debug\main.exe...

success

"activemq_acks"

"activemq_lock"

"activemq_msgs"

"ejf_admin_log"

"ejf_archive_reply"

"ejf_archive_topic"

"ejf_attach"

"ejf_backup_task"

"ejf_board"

"ejf_bookmark"

"ejf_censor_log"

"ejf_credits_log"

"ejf_error_log"

"ejf_friend"

"ejf_group"

"ejf_moderator_log"

"ejf_reply"

"ejf_report_log"

"ejf_section"

"ejf_short_msg"

"ejf_topic"

"ejf_trash_box"

"ejf_user"

"ejf_visit_stat"

"test"

本文写给不懂的同志,懂的同志请轻拍砖


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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值