五分钟或更短时间熟悉SQLite--关于SQLite编程的快速简介

来源:互联网 发布:网络外包公司 编辑:程序博客网 时间:2024/05/15 23:53


五分钟或更短时间熟悉SQLite--关于SQLite编程的快速简介


本篇介绍如何尝试使用SQLite,而不需要进行大量冗长乏味的阅读和配置。


下载代码


下载一份你机器要用的预编译完成的二进制库文件,或下载一份源码,并自行编译。访问下载页以获得更多的信息。


创建新的数据库


  • 在命令解释程序(shell)或DOS中,敲入:"sqlite3test.db"。该命令将创建一个以"test.db"命名的新的数据库(当然你可以用你想要一个不同的名字)。

  • 在命令提示符后敲入SQ命令以设计和构造新建的数据库。

  • 参阅,参考文档Command Line Shell ForSQLite


SQLite编写程序


  • 如下是一个简单的TCL程序,以展示如何使用TCL接口来交互SQLite。该程序执行作为第二个参数的SQL语句,来操作由第一个参数定义的数据库。指令集等待第7行的sqlite3命令,该命令打开一个SQLite数据库,同时创建一个新的以“db”命名的对象以连接到刚才的数据库。第8行的命令使用db对象的eval成员函数来运行对刚才数据库的SQL命令。脚本的最后一行则是关闭数据库连接。


  • 01  #!/usr/bin/tclsh

  • 02  if {$argc!=2} {

  • 03    puts stderr "Usage: %s DATABASESQL-STATEMENT"

  • 04    exit 1

  • 05  }

  • 06  package require sqlite3

  • 07  sqlite3 db [lindex $argv 0]

  • 08  db eval [lindex $argv 1] x {

  • 09    foreach v $x(*) {

  • 10      puts "$v = $x($v)"

  • 11    }

  • 12    puts ""

  • 13  }

  • 14  db close


  • 如下是一短简单的C语言,以展示如何使用C/C++来交互SQLite。第一个参数给出数据库的名字,第二个参数是一条或多条对数据库进行操作的SQL语句。在此,需要关注的函数调用是:22行的sqlite3_open()打开数据库。28行的sqlite3_exec()执行操作数据库的SQL命令。33行的sqlite3_close()关闭数据库连接。

    另请参阅“Introduction To The SQLite C/C++ Interface”以获得对几十个SQLite接口函数的介绍性的概述和路线图


01 #include<stdio.h>


02 #include<sqlite3.h>


03 


04 static intcallback(void *NotUsed, int argc, char **argv, char **azColName){


05   int i;


06   for(i=0;i<argc; i++){


07     printf("%s = %s\n", azColName[i], argv[i] ? argv[i] :"NULL");


08   }


09   printf("\n");


10   return 0;


11 }


12 


13 int main(intargc, 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 }


 



0 0
原创粉丝点击