易截截图软件、单文件、免安装、纯绿色、仅160KB

SQLite C/C++接口介绍

这篇文章是使用SQLite C/C++接口的一个概要介绍和入门指南。
由于早期的SQLite只支持5个C/C++接口,因而非常容易学习和使用,但是随着SQLite功能的增强,新的C/C++接口不断的增加进来,到现在有超过150个不同的API接口。这往往使初学者望而却步。幸运的是,大多数SQLite中的C/C++接口是专用的,因而很少被使用到。尽管有这么多的调用接口,核心的API仍然相对简单和便于调用。本片文章的目的就是为了能够更易于理解SQLite的运作提供基础的知识。
另一篇独立的文档《The SQLite C/C++ Interface》对SQLite中的所有C/C++接口提供了详细的使用说明。一旦读者理解了SQLite的基本操作原理,这篇文档就应当作为一本参考手册。本篇文章仅仅是SQLite的一个入门介绍,而不是完整和权威性的SQLite API参考指南。
1.0 核心对象和接口
SQL数据库引擎的最主要任务是解析SQL语句。为了达成这个目的,开发者需要了解两个对象:
* 数据库连接对象:sqlite3
* 预处理语句对象:sqlite3_stmt
严格来讲,预处理语句对象并不是必须的,因为能够使用sqlite_exec或者sqlite3_get_table这些便于使用的封装接口,而这些接口封装并隐藏了预处理语句对象。尽管如此,对预处理对象的理解有助于我们更充分的使用SQLite。
数据库连接对象和预处理对象是由下列的一组C/C++接口调用操纵的:
* sqlite3_open()
* sqlite3_prepare()
* sqlite3_step()
* sqlite3_column()
* sqlite3_finalize()
* sqlite3_close()
这6个C/C++接口例程和上述的两个对象构成了SQLite的核心功能。开发者对于它们的理解能够更好的使用SQLite。
注意,这个接口例程列表更多是概念上的意义而不是实际的接口。许多这些接口都出现在各个版本之中。例如,上述列表中的sqlite3_open()例程实际上有三个不同的接口以略微不同的方式实现相同的功能:slqite3_open(),sqlite3_open16()和sqlite3_open_v2()。列表中的实际上并不存在sqlite3_column()这个接口。显示在列表中的“sqlite3_column()”仅仅是一个占位,表示一整套用于从表中查询出各种数据类型的列记录接口。
这里说明下核心接口的主要功能:
* sqlite3_open() 该接口打开与一个SQLite数据库文件的连接并返回一个数据库连接对象。这通常是应用程序调用的第一个SQLite API接口而且也是调用其他SQLite API接口前需要调用的接口。许多SQLite接口需要一个指向数据库连接对象的指针作为它们的第一个参数,因而这些接口也可以理解成是数


相关文档:

SQLITE速度评测

SQLite 作为一个轻量级嵌入式数据库,还是非常好用的。雨痕极力推荐~~~~~~ 
今天有个朋友测试 SQLite,然后得出的结论是:SQLite 效率太低,批量插入1000条记录,居然耗时 2 分钟!
下面是他发给我的测试代码。我晕~~~~~~ 
using System.Data;
using System.Data.Common;
using System.Data.SQLite;
// 创 ......

SQLite如何删除、修改、重命名列?

首先声明:如果你想直接alter,放弃吧。以下内容可以忽略了。
sqlite官方说明如下:
SQLite supports a limited subset of ALTER TABLE. The ALTER TABLE command in SQLite allows the user to rename a table or to add a new column to an existing table. It is not possible to rename a column, remove a column, o ......

sqlite性能优化

主要通过pragma指令来实现。
比如: 空间释放、磁盘同步、Cache大小等。
不要打开。前文提高了,Vacuum的效率非常低!
PRAGMA auto_vacuum;
PRAGMA auto_vacuum = 0 | 1;
查询或设置数据库的auto-vacuum标记。
正常情况下,当提交一个从数据库中删除数据的事务时,数据库文件不改变大小。未使用的文件页被标记并在以 ......

C#与Sqlite数据库操作实例

这是一个有关分页的实例,仅供参考(代码来自网络)
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SQLite;
using System.Threading;
using System.Collections;
us ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号