SQLite C/C++接口介绍(一)
SQLite CC++接口介绍
本文为SQLite C/C++接口的介绍。
早期版本的SQLite由于只支持5个C/C++接口,故十分容易学习。随着SQLite功能的增长,新的C/C++接口随之加入,以至有超过200个不同的函数接口(API)。如此多的函数,会对新的使用者带来压力。幸运的是,大多数函数是十分专用的,不需要考虑。尽管有如此多的入口点,但核心的APIS仍然相当简单,易于编程。本文目的在于提供全部背景信息,以更容易理解SQLite是怎么样工作的。
另一篇独立的文档“TheSQLite C/C++ Interface”,描述了全部不同的SQLiteC/C++ APIs。一旦读者理解了SQLite工作的基本原理,该文档可作为参考指南。本文档只是作为介绍,并不是完整的,也不是权威的,SQLiteAPI参考。
1.0核心对象和接口
一个SQL数据库引擎的主要任务是执行SQL语句。为了达到该目的,开发者需要知道两个对象:
严格意义上来讲,预置语句对象并不是必须的了解。因为,可以使用sqlite3_exec或 sqlite3_get_table这样便利的封装接口。这些接口对预置语句对象进行封置,隐藏了预置语句对象。然而,充分利用SQLite,则需要理解预置语句对象。
数据库连接和预置语句对象由一个小型的C/C++接口函数集控制,列出如下:
上面列出的这六个C/C++接口函数和两个对象构成了SQLite的核心功能。开发者理解了他们,就有了用好SQLite的好基础。
注意:如上列出的函数只是概念上的,而不是实际的。这些列出的函数大都有不同的版本。如,上面只列出了sqlite3_open()这一个函数名,事实上有三个分开的函数以稍微不同的方式完成相同的功能。他们是sqlite3_open(),sqlite3_open16() 和sqlite3_open_v2()。列表中提到的函数sqlite3_column(),事实上并不存在该段程序。列中给出的函数sqlite3_column()代表着一族函数,这些函数可用于提取不同类型的列数据。
如下是这些核心接口作用的概述:
|
- 系统启动挂载根文件系统时Kernel panic
- ruby-on-rails – Rails – 如何选择表中的最后日期?
- cocos2d-iphone – Cocos2d的CCSpriteBatchNode抱怨不同的纹
- 【solr专题之二】配置文件:solr.xml solrConfig.xml schem
- Configuring file creation in Flash recovery area and or
- ajax – 调用remoteForm只用onChange事件更新一个div
- 解决FLEX和java端利用BLAZ通讯时遇到的错误
- reactjs – 在React组件中处理多个onChange回调
- 如何在带有PostgreSQL的tryCatch中使用dbGetQuery?
- c – 使用BOOST :: associative属性映射插入boost :: BIMAP