Qt4访问sqlite数据库

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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 #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);

相关文档
最新文档