分享

Ubuntu 下使用Qt连接MySQL数据库

 niudp 2015-09-28

分类: Qt 2234人阅读 评论(0) 收藏 举报

我的环境是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自带它的驱动,这个驱动我倒是见过。


源码:

  1. #include "mainwindow.h"  
  2. #include "ui_mainwindow.h"  
  3. #include  <qdebug.h>  
  4. #include  <QSqlDatabase>  
  5.   
  6. MainWindow::MainWindow(QWidget *parent) :  
  7.     QMainWindow(parent),  
  8.     ui(new Ui::MainWindow)  
  9. {  
  10.     ui->setupUi(this);  
  11.     QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");  
  12.     db.setHostName("localhost");  
  13.     db.setDatabaseName("study");  
  14.     db.setUserName("root");  
  15.     db.setPassword("123");  
  16.     if(!db.open()){  
  17.         qDebug()<<"Unable to open database";  
  18.     }else{  
  19.         qDebug()<<"Database connection established";  
  20.     }  
  21.   
  22. }  
  23.   
  24. MainWindow::~MainWindow()  
  25. {  
  26.     delete ui;  
  27. }  


 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多