ubuntu11.10下qt连接mysql数据库
第一步:安装qt开发环境
lightblue@lightblue-ThinkPad-T410:~$sudo apt-get install qt4-dev-tools qt4-doc qt4-qtconfig qt4-demos qt4-designer
第二步:安装mysql开发环境
lightblue@lightblue-ThinkPad-T410:~$sudo apt-get install mysql-server mysql-client
lightblue@lightblue-ThinkPad-T410:~$sudo apt-get install libmysqlclient15-dev
lightblue@lightblue-ThinkPad-T410:~$sudo apt-get install libqt4-sql-mysql
lightblue@lightblue-ThinkPad-T410:~$sudo /etc/init.d/mysql restart
第三步:给普通用户授权操作数据库
lightblue@lightblue-ThinkPad-T410:~$ mysql -u root -p (root登录数据库)
mysql> create database test; (创建一个数据库)
mysql> grant all privileges on *.* to identified by 'password';
mysql> quit;
给特定用户分配数据操作权限的格式是:
grant 权限1,权限2,...权限n on 数据库名称.表名称 to 用户名@用户ip地址 identified by '密码';
第四步:测试环境
1 #include <QtCore/QCoreApplication>
2
3 #include <QtSql>
4
5 #include <QDebug>
6
7 #include <iostream>
8
9 using namespace std;
10
11 int main(int argc, char *argv[])
12
13 {
14
15 QCoreApplication a(argc, argv);
16
17 QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
18
19 db.setHostName("localhost");
20
21 db.setDatabaseName("test");
22
23 db.setUserName("root");
24
25 db.setPassword("123456");
26
27 if (!db.open())
28
29 qDebug() << "Failed to connect to root mysql admin";
30 else
31
32 std::cout<<"succeed!"<<std::endl;
33 return a.exec();
34
35 }
lightblue@lightblue-ThinkPad-T410:~/qt/mysql$ qmake -project
lightblue@lightblue-ThinkPad-T410:~/qt/mysql$ qmake
在工程的.pro文件里加上下面一行:
QT += sql
lightblue@lightblue-ThinkPad-T410:~/qt/mysql$ make
lightblue@lightblue-ThinkPad-T410:~/qt/mysql$ ./mysql
output:succeed!
上面的操作可以满足你的qt mysq的一切需要。

浙公网安备 33010602011771号