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自适应服务器
[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();
}
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 数据库所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)