您的位置:首页 > 编程语言 > Qt开发

qt连接mysql(windows)

2011-11-04 17:16 453 查看
生成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"
本文写给不懂的同志,懂的同志请轻拍砖
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: