码迷,mamicode.com
首页 > 数据库 > 详细

QT学习笔记(16) QT5的数据库操作

时间:2017-09-04 13:14:44      阅读:329      评论:0      收藏:0      [点我收藏+]

标签:div   密码   data   .lib   动态链接   ddd   sources   自己的   分享   

一、编译驱动

  参考博客:http://blog.csdn.net/xian0gang/article/details/49791351

  因为从QT5以来,它就自带数据库驱动了,所以我们不需要费事的编译也可以使用数据库。QT访问MySQL需要两个动态链接库文件,一个是QT自己的mysql驱动插件,另一个是MySQL提供的动态链接库,缺一不可。

  在程序里指定要访问的数据库是MySQL,QT会自动的加载MySQL驱动插件,其实实现依赖于MySQL的动态链接库访问MySQL。

(1)访问MySQL提供的动态链接库

  在这就不提怎么安装MySQL 了,在目录 lib 里可以找到 MySQL 的动态链接库 libmysql.dll 和 libmysqld.lib

  技术分享

  找到这两个文件,然后把它们复制到我们QT安装的目录下,如下:

  技术分享

 

(2)测试数据库连接

  在项目文件.pro中,加入sql模块,然后在用到所需的类是必须包含头文件。

  QT_HelloWorld18.pro

 1 #数据库操作,需要加载sql模块
 2 QT       += core gui sql
 3 
 4 greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
 5 
 6 TARGET = QT_HelloWorld18
 7 TEMPLATE = app
 8 
 9 
10 SOURCES += main.cpp11         widget.cpp
12 
13 HEADERS  += widget.h
14 
15 FORMS    += widget.ui

  widget.cpp

 1 #include "widget.h"
 2 #include "ui_widget.h"
 3 #include <QDebug>
 4 #include <QtSql/QSqlDatabase>
 5 #include <QtSql/QSqlError>
 6 #include <QMessageBox>
 7 #include <QString>
 8 
 9 Widget::Widget(QWidget *parent) :
10     QWidget(parent),
11     ui(new Ui::Widget)
12 {
13     ui->setupUi(this);
14 
15     //打印QT支持的数据库驱动
16     qDebug() << QSqlDatabase::drivers();
17 
18     //添加MySql数据库
19     QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
20     //连接数据库
21     db.setHostName(QString::fromLocal8Bit("127.0.0.1"));//数据库服务器IP
22     db.setUserName(QString::fromLocal8Bit("root"));//数据库用户名
23     db.setPassword(QString::fromLocal8Bit("ccs"));//密码
24     db.setDatabaseName(QString::fromLocal8Bit("db_qt_test"));//使用哪个数据库
25 
26     if(db.open() == true)
27     {
28         QMessageBox::information(this,QString::fromLocal8Bit("正确"),
29                                  QString::fromLocal8Bit("连接数据库成功"));
30         return ;
31     }
32     else
33     {
34         QMessageBox::warning(this,QString::fromLocal8Bit("错误"),
35                              db.lastError().text());
36         return ;
37     }
38 }
39 
40 Widget::~Widget()
41 {
42     delete ui;
43 }

 

  

 

QT学习笔记(16) QT5的数据库操作

标签:div   密码   data   .lib   动态链接   ddd   sources   自己的   分享   

原文地址:http://www.cnblogs.com/blog-ccs/p/7472900.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!