QT *** 作SQLITE3 数据库

QT  *** 作SQLITE3 数据库,第1张

概述QtSql模块提供了与平台以及数据库种类无关的访问SQL数据库的接口,这个接口由利用Qt的模型视图结构将数据库与用户界面集成的一套类来支持。 QSqlDatabase对象象征了数据库的关联。Qt使用驱动程序与各种数据库的应用编程接口进行通信。Qt的桌面版(Desktop Edition)包括如下一些驱动程序:  驱动程序 数据库   QDB2 IBM DB2 7.1版以及更新的版本   QIBAS

Qtsql模块提供了与平台以及数据库种类无关的访问sql数据库的接口,这个接口由利用Qt的模型视图结构将数据库与用户界面集成的一套类来支持。
QsqlDatabase对象象征了数据库的关联。Qt使用驱动程序与各种数据库的应用编程接口进行通信。Qt的桌面版(Desktop Edition)包括如下一些驱动程序:

驱动程序 数据库
QDB2 IBM DB2 7.1版以及更新的版本
QIBASE Borland InterBase
QMysqL MysqL
QOCI 甲骨文公司(Oracle Call Interface)
QODBCODBC(包括微软公司的QSL服务)
QPsqlPostgresql的7.3版以及更高版本
QsqlITE QSlite第3版
QsqlITE2 QSlite第2版

QTDSQybase自适应服务器


访问Qsqlite数据库的实例: 步骤: 1、创建Qt控制台程序。 2、在pro问价中添加QT +=sql; 3、在main.cpp中添加如下代码:


[cpp]view plaincopyprint?

650) this.width=650;" src="http://img.jb51.cc/vcimg/static/loading.png" width="12" height="12" alt="在CODE上查看代码片" src="https://code.csdn.net/assets/CODE_ico.png">

650) this.width=650;" src="http://img.jb51.cc/vcimg/static/loading.png" width="12" height="12" alt="派生到我的代码片" src="https://code.csdn.net/assets/ico_fork.svg">

#include<QCoreApplication>

#include<Qsql>

#include<QsqlDatabase>

#include<QsqlError>

#include<Qsqlquery>

#include<QString>

#include<Qfile>

#include<QDeBUG>

#include<QVariantList>

intmain(intargc,char*argv[])

{

QCoreApplicationa(argc,argv);

QsqlDatabasedatabase=QsqlDatabase::addDatabase("QsqlITE");

database.setDatabasename("CashSystem.db");

if(database.open())

qDeBUG()<<"DatabaSEOpened";

Qsqlquerysql_query;

QStringcreate_sql="createtablemember(IDintprimarykey,namevarchar(30),addressvarchar(30))";//创建数据表

QStringinsert_sql="insertintomembervalues(?,?,?)";//插入数据

QStringselect_all_sql="select*frommember";

sql_query.prepare(create_sql);//创建表

@H_419_297@if(!sql_query.exec())//查看创建表是否成功

qDeBUG()<<QObject::tr("tableCreateFailed");

qDeBUG()<<sql_query.lastError();

}

@H_419_297@else

"tableCreated";

sql_query.prepare(insert_sql);

QVariantListGroupIDs;

GroupIDs.append(0);

GroupIDs.append(1);

GroupIDs.append(2);

QVariantListGroupnames;

Groupnames.append("hsp");

"rl");

"spl");

QVariantListGroupAddress;

GroupAddress.append("南充");

"宝鸡");

sql_query.addBindValue(GroupIDs);

sql_query.addBindValue(Groupnames);

sql_query.addBindValue(GroupAddress);

@H_419_297@if(!sql_query.execBatch())

"插入记录成功";

//查询所有记录

sql_query.prepare(select_all_sql);

@H_419_297@if(!sql_query.exec())

@H_419_297@while(sql_query.next())

intID=sql_query.value(0).toInt();

QStringname=sql_query.value(1).toString();

QStringaddress=sql_query.value(2).toString();

qDeBUG()<<QString("ID:%1name:%2Address:%3").arg(ID).arg(name).arg(address);

database.close();

//Qfile::remove("CashSystem.db");

@H_419_297@returna.exec();

}



4、运行截图:


650) this.wIDth=650;" src="http://img.jb51.cc/vcimg/static/loading.png" alt="" src="http://img.blog.csdn.net/20160805111314998">


5、在项目的deBUG文件夹下,生成了对应的.db文件,使用navicat forsqlite工具打开,显示结果如下:

650) this.wIDth=650;" src="http://img.jb51.cc/vcimg/static/loading.png" alt="" src="http://img.blog.csdn.net/20160805111500504">

总结

以上是内存溢出为你收集整理的QT *** 作SQLITE3 数据库全部内容,希望文章能够帮你解决QT *** 作SQLITE3 数据库所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1165772.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存