Qt4访问sqlite数据库
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
Qt4访问sqlite数据库 (2)
RedHat 9 Linux下在QT3.1中连接SQLite3全过程详细记录 (6)
基于ARM-Linux的SQLite嵌入式数据库技术 (17)
关于在qt中如何连接sqlite3数据库的问题 (23)
SQLite 完整中文FAQ (32)
C/C++中调用SQLITE3的基本步骤 (40)
SQLite嵌入式数据库系统的研究与实现 (50)
Qt4访问sqlite数据库
/index.php/2008/09/qt-sqlite/
sqlite简介
sqlite 是一款轻量级的、基于文件的嵌入式数据库,2000年就已经诞生,经过7年多的发展,直到今天已经成为最流行的嵌入式数据库,包括google在内的公司在其桌面软件中亦使用sqlite 存储用户数据。由此可以看出,已经没有任何理由去怀疑sqlite的稳定性了。
sqlite的优势
1. 免配置,和access一样,只要把数据库文件通过ftp上传到服务器上就可以使用,不需要服务器的额外支持
2. 备份方便,因为只是一个文件,只要复制一份该文件,就能备份整个数据库
3. 虽然是轻量级数据库,但他支持最大2tb 的单个库文件。
4. 快,无与伦比的快。经过实际测试,在几百万记录的情况下,sqlite的插入和查询速度和mysql 不分上下,快于sql server,10倍于access (但这并不意味着它可以替代sql server )
用QT操作sqlite
由于sqlite属于轻量级的数据库,不需要配置,不需要安装,也不需要管理员,所以也就没必要像操作mysql等数据库一样的设置主机,用户和密码了。样例如下:
1 2 3 4 5 6 7 8 9
10
11
12 #include
#include
#include
#include
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56 #include
#include
#include
int main(int argc, char*argv[])
{
QApplication app(argc, argv);
QTextEdit display;
display.resize(400, 160);
display.show(); //下面进行数据库的设置
QSqlDatabase db =QSqlDatabase::addDatabase("QSQLITE"); //使用sqlite数据库驱动
db.setDatabaseName("test"); //我们之前建立的数据库
bool ok = db.open(); //尝试连接数据库
if(ok)
{//这里用text已经成功连上数据库
QSqlQuery query; //新建一个查询的实例
if(query.exec("select * from student"))//尝试列出student 表的所有记录
{//本次查询成功
int numRows =0; //询问数据库驱动,是否驱动含有某种特性
57
58
59
60
61
62
63
if(db.driver()->hasFeature(QSqlDriver::QuerySize))
{
numRows =query.size(); //如果支持结果影响的行数,那么直接记录下来
}
else
{
st(); //否则定位到结果最后,qt 文档说,这个方法非常慢
numRows = query.at()+1;
query.seek(-1);
}
QString name, age;
display.append("================================= ==========");
while(query.next())
{//定位结果到下一条记录
name = query.value(0).toString();
age = query.value(1).toString();
QString result = name +" "+ age;
display.append(result);