eryar

PipeCAD - Plant Piping Design Software.
RvmTranslator - Translate AVEVA RVM to OBJ, glTF, etc.
posts - 603, comments - 590, trackbacks - 0, articles - 0

SQLite Getting Started

Posted on 2012-10-27 22:04 eryar 阅读(1383) 评论(0)  编辑 收藏 引用

使用SQLite很简单,不需要读很多文档,也不需要做很多配置。

一、下载源代码 Download The Code

http://www.sqlite.org/download.html下载程序,也可以下载源代码自己编译。

下载Windows下的预编译二进制文件包:

  • sqlite-shell-win32-x86-<build#>.zip
  • sqlite-dll-win32-x86-<build#>.zip

注:<build#>是SQLite的编译版本号。

将 zip 文件解压到你的磁盘,并将解压后的目录添加到系统的 PATH 变量中,以方便在命令行中执行 sqlite 命令。

可选: 如果你计划发布基于 sqlite 数据库的应用程序,你还需要下载源码以便编译和利用其 API
sqlite-amalgamation-<build#>.zip

 

二、创建数据库 Create A New Database

安装好SQLite后,在命令窗口中进入到SQLite3.exe所在的目录,输入以下命令:

  1: D:\SQLite>sqlite3 test.db

注:我的SQLite放在了D:\SQLite中。若配置了环境变量,则可以在命令窗口中直接输入:

  1: sqlite3 test.db

在命令窗口中输入SQL命令,去创建和填写这个新的数据库。

注意: 最少必须为新建的数据库创建一个表或者视图,这么才能将数据库保存到磁盘中,否则数据库不会被创建。

三、使用SQLite编程 Write Programs That Use SQLite

如下所示为怎么使用C/C++接口的简单程序。

  1: #include <stdio.h>                                                           
  2: #include <sqlite3.h>                                                         
  3:                                                                              
  4: static int callback(void *NotUsed, int argc, char **argv, char **azColName){ 
  5:   int i;                                                                     
  6:   for(i=0; i<argc; i++){                                                     
  7:     printf("%s = %s\n", azColName[i], argv[i] ? argv[i] : "NULL");           
  8:   }                                                                          
  9:   printf("\n");                                                              
 10:   return 0;                                                                  
 11: }                                                                            
 12:                                                                              
 13: int main(int argc, char **argv){                                             
 14:   sqlite3 *db;                                                               
 15:   char *zErrMsg = 0;                                                         
 16:   int rc;                                                                    
 17:                                                                              
 18:   if( argc!=3 ){                                                             
 19:     fprintf(stderr, "Usage: %s DATABASE SQL-STATEMENT\n", argv[0]);          
 20:     return(1);                                                               
 21:   }                                                                          
 22:   rc = sqlite3_open(argv[1], &db);                                           
 23:   if( rc ){                                                                  
 24:     fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db));        
 25:     sqlite3_close(db);                                                       
 26:     return(1);                                                               
 27:   }                                                                          
 28:   rc = sqlite3_exec(db, argv[2], callback, 0, &zErrMsg);                     
 29:   if( rc!=SQLITE_OK ){                                                       
 30:     fprintf(stderr, "SQL error: %s\n", zErrMsg);                             
 31:     sqlite3_free(zErrMsg);                                                   
 32:   }                                                                          
 33:   sqlite3_close(db);                                                         
 34:   return 0;                                                                  
 35: }                                                                            

数据库的名称由第一个参数指定,第二个参数可以是一个或多个SQL语句。需要注意的是在22行调用函数sqilte3_open()用来打开数据库。28行调用的函数sqlite3_exec()是用来执行SQL命令。33行调用函数sqlite3_close()用来关闭数据库。

关于SQLite更多的C/C++接口函数可以参考《Introduction To The SQLite C/C++ Interface》。


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理