找回密码
 立即注册
收起左侧

编译MySQL数据库驱动

8
回复
7054
查看
[复制链接]

尚未签到

来源: 2014-12-4 17:03:11 显示全部楼层 |阅读模式
在qt快速入门系列教程中低22篇编译MySQL数据库驱动,[img=0,1]file:///C:\Documents and Settings\Administrator\Application Data\Tencent\Users\1036685924\QQ\WinTemp\RichOle\WAE6[3}Y]34%VZ@V7XK%I0G.jpg[/img]“进入Qt安装目录的mysql源码目录中。。。C:\Qt\4.8.4\src\plugins\sqldrivers\mysql,mysql目录下有,但是,我的sqldrivers目录下只有,没有mysql.pro文件和main源文件,怎么办????没法编译mysql驱动了。求各位大神相助。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

累计签到:1571 天
连续签到:1 天
2014-12-5 22:46:10 显示全部楼层
Qt 5安装的时候有个选择,需要选择安装源码。

完成后在C:\Qt\Qt5.4.0\5.4\Src\qtbase\src\plugins\sqldrivers\mysql中有。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

尚未签到

2014-12-8 10:52:32 显示全部楼层
yafeilinux 发表于 2014-12-5 22:46
Qt 5安装的时候有个选择,需要选择安装源码。

完成后在C:\Qt\Qt5.4.0\5.4\Src\qtbase\src\plugins\sqldriv ...

嗯,O(∩_∩)O谢谢!现在可以看到源码了!可是我在构建mysql.pro项目的时候,生成的目录是这样的,里面没有qsqlmysqld4.dlllibqsqlmysqld4.a文件,请问这又是怎么回事呢?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

累计签到:410 天
连续签到:1 天
2014-12-8 15:30:26 显示全部楼层
QT5之后  好像支持MYSQL驱动

你安装mysql后  在mysql里面把  libmysql.dll拷贝到 Qt的bin目录下就可以使用了。。
回复 支持 反对

使用道具 举报

尚未签到

2014-12-9 17:16:03 显示全部楼层
哦哦,这样子。那我有一个qt程序,#include <QCoreApplication>#include <QtSql/QSqlDatabase>//#include <QSqlDatabase>#include <QDebug>#include <QStringList>#include <QSqlQuery>
int main(int argc, char *argv[]){    QCoreApplication a(argc, argv);
    // 输出可用数据库    qDebug() << "Available drivers:";    QStringList drivers = QSqlDatabase::drivers();    foreach(QString driver, drivers)        qDebug() << driver;
    // 打开MySQL    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");    db.setHostName("localhost");    db.setDatabaseName("mydata");    db.setUserName("root");    db.setPassword("");    if (!db.open())        qDebug() << "Failed to connect to root mysql admin";    else qDebug() << "open";
    QSqlQuery query(db);
    //注意这里varchar一定要指定长度,不然会出错    query.exec("create table student(id int primary key,name varchar(20))");
    query.exec("insert into student values(1,'xiaogang')");    query.exec("insert into student values(2,'xiaoming')");    query.exec("insert into student values(3,'xiaohong')");
    query.exec("select id,name from student where id >= 2");
    while(query.next())    {        int value0 = query.value(0).toInt();        QString value1 = query.value(1).toString();        qDebug() << value0 << value1 ;    },为什么输出结果说database not open

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

累计签到:1571 天
连续签到:1 天
2014-12-10 22:40:46 显示全部楼层
baiweili1990 发表于 2014-12-9 17:16
哦哦,这样子。那我有一个qt程序,#include #include //#include #include #include #include
int main(in ...

  libmysql.dll拷贝到 Qt的bin目录下就可以使用了。。

这个做了没
回复 支持 反对

使用道具 举报

尚未签到

2014-12-15 14:03:36 显示全部楼层
yafeilinux 发表于 2014-12-10 22:40
libmysql.dll拷贝到 Qt的bin目录下就可以使用了。。

这个做了没

恩,我做了这个步骤,但还是上面的结果
回复 支持 反对

使用道具 举报

尚未签到

2014-12-15 17:01:23 显示全部楼层
为什么我把libmysql.dll拷贝到 Qt的bin目录下了还是没用呢?
回复 支持 反对

使用道具 举报

尚未签到

2014-12-15 17:02:07 显示全部楼层
求解,我已经弄了很久了还是不行!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了