Ubuntu 下使用Qt连接MySQL数据库

来源:互联网 发布:mac ping ip 端口命令 编辑:程序博客网 时间:2024/05/22 16:54

我的环境是11.10+Qt creator

1.在软件中心安装MYSQL。

在软件中心直接输“MYSQL”关键字,然后安装 MYSQL客户端,MYSQL服务器端,MYSQL管理员。安MYSQL服务器端时,需要你输入一个密码,这个密码是让你设置root在MYSQL中的密码。

如果直接在终端中输入 mysql,可能会提示ERROR 1045 (28000),这是因为这时候你是以自己用户名访问数据库,而目前数据库中只有一个root用户

用户登录MYSQL;可以用root用户登录,mysql -uroot -p ,或者授权给其他用户登录:grant  usage on *.* to qustdjx@localhost,这样qustdjx就能登录MYSQL了,但它并不能创建数据库、操作mysql,只有普通权限。

2.MYSQL驱动安装

我的Qt creator和mysql驱动都是在软件中心安装的,Qt creator被安装到/usr目录,但libqt4-sql-mysql具体安装在哪,我真不知道,网上说可以下载libqt4-sql-mysql的deb包,然后解压放到Qt4的plugins目录下,但这个目录我也没找到。

3.开启MYSQL服务,建立链接。

打开 MYSQL管理员


4.安装都是自动的,编译有点麻烦。测试一下吧。

程序源码来自网上。你也可以看Qt的demo程序,来改自己的程序,demo使用的数据库是SQLITE,Qt自带它的驱动,这个驱动我倒是见过。


源码:

#include "mainwindow.h"#include "ui_mainwindow.h"#include  <qdebug.h>#include  <QSqlDatabase>MainWindow::MainWindow(QWidget *parent) :    QMainWindow(parent),    ui(new Ui::MainWindow){    ui->setupUi(this);    QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");    db.setHostName("localhost");    db.setDatabaseName("study");    db.setUserName("root");    db.setPassword("123");    if(!db.open()){        qDebug()<<"Unable to open database";    }else{        qDebug()<<"Database connection established";    }}MainWindow::~MainWindow(){    delete ui;}


原创粉丝点击