一.配置Qt环境
(一)、安装vs2010
(二)、下载安装Qt
http://qt-project.org/downloads
(三)、安装vs插件
qt-vs-addin-1.2.2-opensource.exe
(四)、添加Qt Option
打开vs2010, 菜单栏多出了qt这一项,打开子菜单Qt Options,检查是否有已经安装的Qt版本,如果没有的话则添加进来。如图:
二.安装mysql
1.关于mysql的下载, 我在官方网站上并未下载成功,在oracle上面说我的帐户无权限,只得到民间网站上找一个。
http://xiazai.zol.com.cn/detail/9/89874.shtml
2.安装的过程中一路点击“下一步”,填写用户名和密码后,再继续直到安装成功。
3. 在开始菜单中找到mysql的命令提示符,打开后会马上要求输入密码。密码正确的话会进入mysql;
(1)查看数据库
show databases;
(2) 切换数据库
use test
(3) 创建一个表
(4)插入一行数据
三.编译mysql的连接驱动
1. 进入Qt的数据库驱动插件目录 ,C:\Qt\4.8.5\src\plugins\sqldrivers\mysql,打开mysql.pro文件, 添加mysql的include目录和lib目录
INCLUDEPATH +="d:\MYSQL\include"
LIBS += "d:\mysql\lib\libmysql.lib
2.接上一步,打开cmd , 执行qmake -tp vc mysql.pro , 在此目录下会生成一个mysql.vcxproj文件,用vs2010打开,按F7编译。如果能够编译成功的话,会生成qsqlmysqld4.dll 和qsqlmysqld4.lib,把它们拷到Qt的数据库驱动目录(C:\Qt\4.8.5\plugins\sqldrivers)中去。
3. 如果不出意外的话就成功了。可是事情总不那么顺利,下面的两个小问题可能会经常出现。
(1)“link error 无法打开libmysql.lib文件”
我的办法是到mysql安装目录下的lib目录下拷libmysql.dll和libmysql.lib文件到vc的lib目录(C:\Program Files\Microsoft Visual Studio 10.0\VC\lib)。
(2)“QMYSQL driver not loaded“”
到MySQL/bin目录下的libmySQL.dll文件复制到Qt安装目录下的bin目录中
四. try it
1.编写源代码 main.cpp,如下:
#include
#include
bool createConnection()
{
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setDatabaseName("test");
db.setUserName("root");
db.setPassword("root");
if(!db.open())
{
QMessageBox::critical(0,QObject::tr("Database Error"), db.lastError().text() );
return false;
}
return true;
}
int main(int argc, char ** argv)
{
QApplication app(argc, argv);
bool bConnection = createConnection();
if(! bConnection)
{
return 0;
}
QSqlQuery query;
query.prepare("insert into t_test_employ (id, name)"
"values(:id, :name)");
query.bindValue(":id", "3");
query.bindValue(":name","lisi");
query.exec();
return app.exec();
}
2. 编写main.pro文件
template = app
sources = main.cpp
QT += sql
注意,编写操作数据库的程序时,要把sql模块配置进去
3. 制作.vcxproj文件
qmake -tp vc main.pro
4. 用vs 2010打开上一步产生的.vcxproj文件 ,打开后按F7生成。ctrl + F5运行后再回头查看数据库,可发现增加了一条记录。