- 1、本文档共3页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
sqlite3数据库使用流程小结
数据库使用
前提是:在你的操作系统等环境你已安装好数据库(这部分知识在这里不作进一步讲解)!
首先说说数据库的作用吧:就是存储数据、提取数据、以及删除数据等等。
ok,下面我们来说说如何使用数据库吧!使用数据库就在于如何使用API接口函数,就是数据库调用者的交互方法,至于数据库后面的架构由数据库自己处理。
部分接口函数:
int sqlite3_open(const char*, sqlite3**); //打开数据库函数
int sqlite3_open16(const void*, sqlite3**);
int sqlite3_close(sqlite3*); //关闭数据库函数
const char *sqlite3_errmsg(sqlite3*); //显示错误函数
const void *sqlite3_errmsg16(sqlite3*);
int sqlite3_errcode(sqlite3*); //显示错误代码函数
typedef int (*sqlite_callback)(void*,int,char**, char**); //回调函数定义
int sqlite3_exec(sqlite3*, const char *sql, sqlite_callback, void*, char**); //执行函数typedef
struct sqlite3_stmt sqlite3_stmt; //字节码定义
int sqlite3_prepare(sqlite3*, const char*, int, sqlite3_stmt**, const char**);//准备函数
int sqlite3_finalize(sqlite3_stmt*); //定案函数
int sqlite3_reset(sqlite3_stmt*); //重置函数
使用API接口函数有两种方法:封装查询和预编译查询。下面正式开始使用数据库:
第一步:利用封装查询或者预编译查询方法编写数据库操作程序,这里我们利用封装查询的方法编写程序,程序名:sqlite_test.c,代码如下:
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
#include stdio.h
#include sqlite3.h
static int callback(void *NotUsed, int argc, char **argv, char **azColName)//回调函数
{
int i;
for(i=0; iargc; i++)
{
printf(%s = %s\n, azColName[i], argv[i] ? argv[i] : NULL);
}
printf(\n);
return 0;
}
/*最简单的数据库操作(封装查询),包括打开、执行、关闭三个接口函数*/
int main(int argc, char **argv)
{
sqlite3 *db;
char *zErrMsg = 0;
int rc;
if( argc!=3 )
{
fprintf(stderr, Usage: %s DATABASE SQL-STATEMENT\n, argv[0]);
exit(1);
}
rc = sqlite3_open(argv[1], db);//数据库打开函数
if( rc )
{
fprintf(stderr, Cant open database: %s\n, sqlite3_errmsg(db));
sqlite3_close(db);
exit(1);
}
rc = sqlite3_exec(db, argv[2], callback, 0, zErrMsg);//数据库执行函数
if( rc!=SQLITE_OK )
{
fprintf(stderr, SQL error: %s\n, zErrMsg);
sqlite3_free(zErrMsg);
}
sqlite3_close(db);//数据库关闭函数
ret
文档评论(0)