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"
本文写给不懂的同志,懂的同志请轻拍砖
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"
本文写给不懂的同志,懂的同志请轻拍砖
相关文章推荐
- windows 下 qt 连接 mysql 数据库
- Windows下Qt应用程序可以连接本地MYSQL不能连接linux的问题
- windows下,Qt连接Mysql
- windows系统下解决Qt连接MySQL数据库时出现的问题:QMYSQL driver not loaded
- windows 下qt 连接mysql
- Windows 环境下使用 Qt 连接 MySQL
- Windows下QT 5.1.1连接MySQL 5.6数据库步骤 [亲试成功]
- windows QTSDK 连接Mysql
- qt在windows下使用mysql,提示有数据库,但就是连接不上
- Windows环境下利用Qt连接MYSQL数据库
- 解决Windows下C连接MySQl的问题 http://16hot.blog.isyi.com/post/1/144
- qt5 与 mysql 的连接
- Windows 下连接mysql工具NavicatForMysql
- C#连接XAMPP中的mysql(windows)
- MySQL连接数据库:C API代码, Linux,Windows
- windows下用Python连接mysql报错问题“MySQLdb in Python: “Can't connect to MySQL server on 'localhost'””
- 解决Windows远程连接mysql出现cannot connect(10038)过程
- Linux下mysql修改连接超时(windows下也适用)
- Qt连接MySQL
- Qt连接MySQL提示“QSqlDatabase: QMYSQL driver not loaded”的解决办法