Heim  >  Artikel  >  Datenbank  >  基于SQLite数据库的C语言编程

基于SQLite数据库的C语言编程

WBOY
WBOYOriginal
2016-06-07 17:12:211283Durchsuche

sqlite 提供的是一些 C 函数接口,你可以用这些函数操作数据库。通过使用这些接口,传递一些标准 sql 语句(以 char * 类型)给

一 SQLITE 操作入门

sqlite 提供的是一些 C 函数接口,你可以用这些函数操作数据库。通过使用这些接口,传递一些标准 sql 语句(以 char * 类型)给 sqlite 函数, sqlite 就会为你操作数据库。

sqlite 跟 MS 的 access 一样是文件型数据库,就是说,一个数据库就是一个文件,此数据库里可以建立很多的表,可以建立索引、触发器等等,但是,它实际上得到的就是一个文件。备份这个文件就备份了整个数据库。

sqlite 不需要任何数据库引擎,这意味着如果你需要 sqlite 来保存一些用户数据,甚至都不需要安装数据库 ( 如果你做个小软件还要求人家必须装了 sqlserver 才能运行,那也太黑心了 ) 。

下面开始介绍数据库基本操作。

1 基本流程
( 1 )关键数据结构
sqlite 里最常用到的是 sqlite3 * 类型。从数据库打开开始, sqlite 就要为这个类型准备好内存,直到数据库关闭,整个过程都需要用到这个类型。当数据库打开时开始,这个类型的变量就代表了你要操作的数据库。下面再详细介绍。

( 2 )打开数据库
int sqlite3_open( 文件名 , sqlite3 ** );

用这个函数开始数据库操作。

需要传入两个参数,一是数据库文件名,比如: c:\\DongChunGuang_Database.db 。

文件名不需要一定存在,如果此文件不存在,, sqlite 会自动建立它。如果它存在,就尝试把它当数据库文件来打开。

sqlite3 ** 参数即前面提到的关键数据结构。这个结构底层细节如何,你不要关它。

函数返回值表示操作是否正确,如果是 SQLITE_OK 则表示操作正常。相关的返回值 sqlite 定义了一些宏。具体这些宏的含义可以参考 sqlite3.h 文件。里面有详细定义(顺便说一下, sqlite3 的代码注释率自称是非常高的,实际上也的确很高。只要你会看英文, sqlite 可以让你学到不少东西)。

下面介绍关闭数据库后,再给一段参考代码。

( 3 ) 关闭数据库
int sqlite3_close(sqlite3 *);

前面如果用 sqlite3_open 开启了一个数据库,结尾时不要忘了用这个函数关闭数据库。

下面给段简单的代码:

extern "C"

#include "./sqlite3.h"

};

int main( int , char** )

   sqlite3 * db = NULL; // 声明sqlite 关键结构指针

    int result;

// 打开数据库

// 需要传入 db 这个指针的指针,因为 sqlite3_open 函数要为这个指针分配内存,还要让db 指针指向这个内存区

   result = sqlite3_open( “ c:\\Dcg_database.db ” , &db );

   if( result != SQLITE_OK )

   {

    // 数据库打开失败

return -1;

// 数据库操作代码

// …

// 数据库打开成功

// 关闭数据库

sqlite3_close( db );

return 0;

这就是一次数据库操作过程。

linux

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:DataGuard角色切换Nächster Artikel:搭建DataGuard环境