详解Qt数据库的链接与如何使用SQL

移动开发
Qt数据库的链接与如何使用SQL是本文要介绍的内容,主要是来学习QT中数据库的链接和SQL如何来使用,具体内容的实现来看本文详解。

Qt数据库的链接与如何使用SQL是本文要介绍的内容,主要是来学习QT数据库的链接和SQL如何来使用,具体内容的实现来看本文详解。

一直没接触数据库,前一阵突然有机会用了用MySQL,顺手把SQL语法学了一遍,学完了手痒痒,一想Qt可以结合数据库,就顺便试了下Qt链接数据库与使用SQL。SQL部分就不说了,Qt先说链接部分。

1、先做数据库驱动

现在Qt SDk for windows里面已经有ODBC的驱动了,我当时现做了个MySQL的驱动(其实我当时是没看见有ODBC),因为我使用MinGW,所以先使用remip.exe把MySQL/opt里面的 LibMySQL.lib转成.a(使用MSVC的就可以跳过这步了)。然后再进qt/src/plugins/sqldriver/mysql 编译出驱动

QMAKE -o Makefile "INCLUDEPATH+=MYSQL/INCLUDE" "LIBS+=MYSQL/LIB/OPT/libmysql.a" mysql.pro 
  • 1.

注意下qmake的参数就行了 再make, 这部分网上说的很详细,

2、Qt使用SQL

主要是下面的几个类

 QSqlDatabase 建立于数据库的链接
 
 QSqlQuery 用于执行SQL语句
 
 QSqlTableModel 结合QTableView可以输出数据库的表

贴下我写的简单Demo

QSqlDatabase db =QSqlDatabase::addDatabase("QMYSQL"/*"QODBC"*/); // becomes the new default connection    
db.setUserName("root");//用户名    
db.setPassword("password");//密码    
db.setHostName("localhost");    
db.setDatabaseName("test");//数据库名    
db.setConnectOptions("CLIENT_SSL=1;CLIENT_IGNORE_SPACE=1");//使用SSL    
db.setPort(3306);//端口    
if(db.open()){    
    qDebug()<<"open/n"<<db.lastError().driverText()<<"/n";    
}    
else{    
    qDebug()<<"open faile/n";    
}    
QSqlQuery query;//用于执行SQL语言    
 query.exec("show databases");//很方便的    
 while (query.next()) {    
     qDebug()<<query.value(0).toString()<<"/n";    
}    
 
QSqlTableModel *model = new QSqlTableModel;//间接将数据库表装入QTableView    
model->setTable("people");   //表名    
model->setEditStrategy(QSqlTableModel::OnManualSubmit);    
model->select();    
//model->removeColumn(0); // don't show the ID    
//model->setHeaderData(0, Qt::Horizontal, QObject::tr("ID"));    
model->setHeaderData(0, Qt::Horizontal, tr("Name"));    
model->setHeaderData(1, Qt::Horizontal, tr("Age"));    
model->setHeaderData(2, Qt::Horizontal, tr("Sex"));    
 
QTableView *view = new QTableView(this);    
view->setModel(model);    
db.close();    
QGridLayout * gl=new QGridLayout();    
gl->addWidget(view);    
this->setLayout(gl);   
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.

小结:详解Qt数据库的链接与如何使用SQL的内容介绍完了,希望通过本文的学习能对你有所帮助!

责任编辑:zhaolei 来源: 互联网
相关推荐

2011-08-30 11:04:30

链接查询内连接外连接

2011-03-28 12:33:09

SQL Server数据库链接

2011-06-23 18:37:02

Qt 数据库

2011-08-22 11:39:53

SQL Server数PIVOT

2011-04-02 14:24:25

SQL Server数网络链接

2011-08-24 12:49:56

SQL Server托管代码

2011-06-21 15:31:04

Qt 数据库 SQL

2011-08-11 09:12:31

SQL Server nolock

2011-07-01 14:06:57

Qt sqlite

2011-07-05 09:54:04

2011-08-30 14:25:06

QT数据库

2011-08-22 13:28:56

FOR XMLSQL Server

2011-06-21 15:11:04

QT 数据库

2022-11-04 08:34:27

Oracle数据库

2011-08-25 16:50:20

SQL ServerAccessASP

2011-08-15 14:29:52

SQL Server数事务

2011-07-05 10:03:00

Qt MYSQL 数据库

2011-08-24 09:15:36

SQL Server数FOR XML AUT

2021-03-18 08:20:19

SQLServer数据库SQL

2011-04-18 16:03:28

SSB数据库
点赞
收藏

51CTO技术栈公众号