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

ubuntu10.10下qt连接mysql数据库

2011-01-24 23:11 387 查看
ubuntu10.10下qt连接mysql数据库
2011-01-24 11:22
第一步:安装qt开发环境

xhy@xhy-desktop:~$sudo apt-get install qt4-dev-tools qt4-doc qt4-qtconfig qt4-demos qt4-designer

第二步:安装mysql开发环境

xhy@xhy-desktop:~$sudo apt-get install mysql-server mysql-client

xhy@xhy-desktop:~$sudo apt-get install libmysqlclient15-dev

xhy@xhy-desktop:~$sudo apt-get install libqt4-sql-mysql

xhy@xhy-desktop:~$sudo /etc/init.d/mysql restart



第三步:给普通用户授权操作数据库
xhy@xhy-desktop:~$ mysql -u root -p (root登录数据库)
mysql> create database mydb; (创建一个数据库)
mysql> grant all privileges on *.* to username@localhost identified by 'password';
mysql> quit;
给特定用户分配数据操作权限的格式是:
grant 权限1,权限2,...权限n on 数据库名称.表名称 to 用户名@用户ip地址 identified by '密码';



第四步:测试环境



#include <QApplication>
#include <QtSql>
#include <QTableView>
#include <iostream>

using namespace std;

int main(int argc, char *argv[]) 
{
    QApplication app(argc, argv);
    
    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    db.setHostName("localhost");
    db.setDatabaseName("mydb");
    db.setUserName("username");
    db.setPassword("password");
    db.open();

    QSqlQuery query;
    query.exec("create table hello(id bigint not null auto_increment,name varchar(255),age bigint,primary key (id))");
    query.exec("insert into hello(name, age) values('xiaoxi', 18)");
    query.exec("insert into hello(name, age) values('xiaonan', 19)");
    query.exec("insert into hello(name, age) values('xiaobei', 20)");
    query.exec("insert into hello(name, age) values('xiaodong', 21)");

    QSqlQueryModel *model = new QSqlQueryModel;
    model->setQuery("select * from hello");
    model->setHeaderData(0, Qt::Horizontal, "id");
    model->setHeaderData(1, Qt::Horizontal, "name");
    model->setHeaderData(2, Qt::Horizontal, "age");
    QTableView *view = new QTableView;
    view->setWindowTitle("QSqlQueryModel");
    view->setModel(model);
    view->show();

    db.close();
    return app.exec();
}


编译:

xhy@xhy-desktop:~$ qmake -project

xhy@xhy-desktop:~$ qmake

一定别忘了在工程的.pro文件里加上下面一行:

QT += sql

xhy@xhy-desktop:~$make

xhy@xhy-desktop:~$./mysql



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: