sqlite3_open(const char *filename, sqlite3 **ppDb)
该例程打开一个指向 SQLite 数据库文件的连接,返回一个用于其他 SQLite 程序的数据库连接对象。
sqlite3_close(sqlite3*)
该例程关闭之前调用 sqlite3_open() 打开的数据库连接。所有与连接相关的语句都应在连接关闭之前完
成。
如果还有查询没有完成,sqlite3_close() 将返回 SQLITE_BUSY 禁止关闭的错误消息。
const char *sqlite3_errmsg(sqlite3*);
sqlite3_errcode() 通常用来获取最近调用的API接口返回的错误代码.
返回的错误信息列表如下:
 
   主函数:
#include <stdio.h>
#include <sqlite3.h>
int main(char argc,char ** argv)
{
    int ret;
    sqlite3 *db;
    if(argc < 2){
        printf("usge:%s xxx.db\n",argv[0]);
        return -1;
    }
    if((ret = sqlite3_open(argv[1],&db) == SQLITE_OK)){
        printf("open %s success\n",argv[1]);
    }else{
        printf("error:%s\n",sqlite3_errmsg(db));
        return -1;
    }
    sqlite3_close(db);
    return 0;
}
:gcc xxx.c -lsqlite3(我这里是3,安装的时候注意版本)
:./a.out test.db
即可创建一个数据文件完成
创建并查看数据库中的数据:
  1 #include <stdio.h>
  2 #include <sqlite3.h>
  3 //int callback(void *arg, int column_size, char *column_value[], char \
  4 *column_name[])
  5 int callback(void *arg, int column_size, char *column_value[], char*column_name[])
  6 {
  7
  8     int i;
  9     printf("arg = %s\n",(char *)arg);
 10
 11     for(i=0;i<column_size;i++){
 12
 13         printf("%s = %s\n",column_name[i],column_value[i]);
 14     }
 15
 16     printf("========================\n");
 17     return 0;//必须返回0才能把数据库中的数据全部列举出来,返回其他的不行
 18 }
 19
 20 int main(char argc,char ** argv)
 21 {
 22     int ret;
 23     char *errmsg;
 24     sqlite3 *db;
 25     if(argc < 2){
 26
 27         printf("usge:%s xxx.db\n",argv[0]);
 28         return -1;
 29
 30     }
 31
 32     if((ret = sqlite3_open(argv[1],&db) == SQLITE_OK)){
 33
 34         printf("open %s success\n",argv[1]);
 35
 36     }else{
 37
 38         printf("error:%s\n",sqlite3_errmsg(db));
 39         return -1;
 40     }
 41
 42     //sqlite3_exec(sqlite3*, const char *sql, sqlite_callback, void *data, char **errmsg)
 43     ret = sqlite3_exec(db,"create table stu2(id Integer,name char,score Integer);",callback,"connet of sql",&errmsg);
 44     if(ret != SQLITE_OK){
 45         printf("creat error:%s\n",errmsg);//与上面的exec函数的最后一个成员对应,用来打印错误信息
 46     }
 47     sqlite3_exec(db,"insert into stu2 values(001,'liming',69);",callback,"connet of sql",&errmsg);
 48     sqlite3_exec(db,"select * from stu2",callback,"connet of sql",&errmsg);
 49     sqlite3_close(db);
 50     return 0;
 51 }



















