学习日志(二十二)
SQLite的编程操作①
打开/创建数据库的C接口函数介绍
描述:用C 代码段连接到一个现有的数据库。如果数据库不存在,那么它就会被创建,最后返回一个数据库对象。
用到的函数及介绍
1、sqlite3_open(const char *filename, sqlite3 **ppDb):打开一个数据库对象(sqlite3数据库连接对象);
int sqlite3_open(const char *filename, sqlite3 **ppDb);
filename:要打开的sqlite3数据库的路径名
ppDb: 二级指针,用来保存打开的数据库的连接对象。
返回值: 成功返回SQLITE_OK,失败返回其他值。
2、sqlite3_close(sqlite3*): 关闭数据库连接对象
int sqlite3_close(sqlite3*);
该例程关闭之前调用 sqlite3_open(); 打开的数据库连接。
所有与连接相关的语句都应在连接关闭之前完成。如果还有查询没有完成,
sqlite3_close();将返SQLITE_BUSY 禁止关闭的错误消息。
3、用于查看错误代码信息:
const char *sqlite3_errmsg(sqlite3*);
4、常用来获取最近调用的API接口返回的错误代码(是错误代码数字).
sqlite3_errcode(sqlite3*) ;
错误代码信息:
实战
#include <stdio.h>
#include <sqlite3.h>
#include <stdlib.h>
int main(int argc,char **argv)
{
sqlite3 *db = NULL;
int ret = 0;
if(argc<2){
printf("Uage: %s xxx.db\n",argv[0]);
exit(-1);
}
if((ret = sqlite3_open(argv[1],&db)) == SQLITE_OK){ //打开或创建一个数据库对象 成功返回SQLITE_OK 0
printf("ret = %d create %s ok\n",ret,argv[1]);//打印返回的数值
}else{
printf("ret = %d creat %s fail\n",ret,argv[1]);//打印返回错误码的数值
printf("error num = %d error mesg:%s\n",sqlite3_errcode(db),sqlite3_errmsg(db));//获取最近调用的API接口返回的错误代码 and 错误信息输出
if(ret==14){//错误码判断
printf("permisson deny\n");
}
exit(-1);
}
sqlite3_close(db);
return 0;
}
测试: