Error[8]: Undefined offset: 191, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

概述int sqlite3_open(    const char* filename,    /* 数据库文件名, 必须为 UTF-8 格式 */                                sqlite3** ppDB            /* 输出: SQLite 数据库句柄 */);  说明:    该函数打开由 filename 指定的数据库, 一个数据库连接句柄由 *p

int sqlite3_open( const char* filename,/* 数据库文件名,必须为 UTF-8 格式 */

sqlite3** ppDB /* 输出: sqlite 数据库句柄 */);

说明: 该函数打开由 filename 指定的数据库,一个数据库连接句柄由 *ppDB 返回(不管是否发生了一个错误). 唯一异常是 sqlite 无法为 sqlite 对象分配内存空间,此时将返回 NulL. 如果数据库被成功打开(和/或 创建),函数返回 sqlITE_OK(0). 否则返回一个错误码,可以通过 sqlite3_errmsg() 取得错误原因. 无论是否成功打开数据库,都应该使用 sqlite3_close() 关闭数据库连接.

示例: int ret = 0; char* filename = "./nbsg.db"; sqlite3* pDB = NulL; to_utf8(filename);

ret = sqlite3_open(filename,&pDB);

if(ret != sqlITE_OK)

...

int sqlite3_close( sqlite3* pDB /* 由 sqlite3_open 或基相关的函数打开的 sqlite 对象句柄 */ );

说明: 该函数用来析构 sqlite3 对象. 返回 sqlITE_OK 表示对象被成功析构,以及所有相关的资源被成功回收应用程序必须在关闭之前 "完成(finalize)" 所有的 "预编译语句(prepared statements)",并且关闭所有的 "二进制句柄绑定(BLOB handle)",如果在关闭时还有未完成的预编译语句或二进制句柄,那么函数返回 sqlITE_BUSY(5).

示例: if(pDB != NulL) { sqlite3_close(pDB); pDB = NulL; }

int sqlite3_errcode( sqlite3* pDB /* sqlite3 数据库句柄 */ ); 说明: 该函数返回最近一次调用 sqlite3_ API时产生的错误码. 示例: int errcode = sqlite3_errcode(pDB); const char * sqlite3_errmsg( sqlite3* pDB /* sqlite3 数据库句柄 */ ); 说明: 该函数返回与pDB数据库指针相关的错误信息,由英语书写. 用户不必考虑内存的释放,其由sqlite内部管理,它也将会在下产次调用函数时被覆盖. 示例: printf( " %s\n " ,sqlite3_errmsg(pDB));
/* sqlite3_exec(),2012-05-28 */int sqlite3_exec(    sqlite3* pDB,/* sqlite3句柄 */    const char* sql,/* 被执行的 sql 语句 */    int (*callback)(voID*,int,char**,char**),/* 执行/查询回调函数 */    voID* pvoID,/* 传递给回调函数的第一个参数 */    char**errmsg    /* 错误输出信息 */);说明:    该函数用来执行若干条 sql 语句.    该函数包裹了先前版本的 sqlite3_prepare(),sqlte3_step() 和 sqlite3_finalize() 函数,这样,用户就可以执行简单的代码执行多条 sql 语句.    sqlite3_exec()接口执行多条以";"分隔的SQL语句. 如果回调函数不为 NulL,则它对每一个行查询结果都会调用该回调函数. 如果没有回调函数被指定,sqlite3_exec() 只是简单地忽略查询结果.    当在执行该SQL语句发生错误时,执行将发生中断,并且后面的语句也全部被忽略. 如果 errmsg 参数不为空任何错误信息将会被写进由 sqlite3_malloc() 得到的的内存空间中,即 errmsg 指向的内存. 为了避免内存泄漏,应用程序应该在不需要该错误信息后立即调用 sqlite3_free() 释放该内存空间. 如果 errmsg 参数不为 NulL,并且没有错误发生,errmsg 被设置为 NulL.    如果回调函数返回非零,sqlite3_exec() 立即中断查询,并且不再执行后续的 sql 语句,也不再调用回调函数,sqlite3_exec() 将返回 sqlITE_ABORT 结束执行.示例:    sqlite3_exec(pDB,to_utf8("delete from tablename where ID=123;"),NulL,NulL);    sqlite3_exec(pDB,to_utf8("create table if not exists tablename (ID integer primary key,name text);"),to_utf8("insert into tablename (name) values ('女孩不哭');"),NulL);    if(sqlite3_exec(pDB,to_utf8("select * from tablename;"),sqlite_callback,&pszErrMsg) != sqlITE_OK)    {        ...        sqlite3_free(pszErrMsg);        pszErrMsg = NulL;    }
/* sqlite3_prepare(),sqlite3_step(),sqlite3_finalize() */int sqlite3_prepare(    sqlite3* pDB,/* 成功打开的数据库句柄 */    const char* sql,/* UTF8编码的 sql 语句 */    int nbytes,/* 参数 sql 的字节数,包含 '*/'     sqlite3_stmt/*** ppStmt, 输出:预编译语句句柄 */const    char /*** pszTail     输出:指向 sql 语句中未使用的部分 */);说明:    要执行一条 sql 查询,其必须先被编译成字节码,然后才能被其它函数使用.    如果 nbytes 小于零,sql 语句则以第一个 ''0'终结. 如果它非负,则为读取的最大长度. 当  nbytes 大于 ' 时,则读取指定长度,如果'''先被读到,则以'''结束. 如果用户知道被传入的 sql 语句是以 ),这样可以避免 sqlite 复制该字符串的一份拷贝,以提高程序的效率.    如果 pszTail 不为 NulL,则 pszTail 指向的内容则是未被编译的.    pszStmt 的值为NulL.    调用者应该使用 sqlite3_finalize() 删掉被预编译的语句.    如果函数成功,返回 sqlITE_OK,否则返回一个错误码. 结尾的,那么有一个更好的做法是:把nbytes的值设为该字符串的长度(包含int sqlite3_step(    sqlite3_stmt/* 一条被预编译的 sql 语句 *pszTail 指向 sql 中第一个被传入的 sql 语句的结尾. 该函数只编译 sql 的第一个语句,所以 **/*ppStmt 指向一条可以被 sqlIE3_step() 函数使用的预编译语句. 如果有错误发生,*);说明:    当一条语句被 sqlite3_prepare() 或其相关的函数预编译后,sqlite3_step() 必须被调用一次或多次来评估该预编译语句.    该函数的详细行为依赖于由 sqlite3_prepare()(或其相关的函数) 产生的是一条怎样的预编译语句.    函数将返回一个以下的结果来标识其执行结果:        sqlITE_BUSY:忙碌. 数据库引擎无法锁定数据去完成其工作. 但可以多次尝试.        sqlITE_DONE:完成. sql 语句已经被成功地执行. 在调用 sqlite_reset() 之前,当前预编译的语句不应该被 sqlite3_step() 再次调用.        sqlITE_ROW:查询时产生了结果. 此时可以通过相关的"数据访问函数(column access functions)* ppStmt    "来取得数据. sqlite3_step() 的再一次调用将取得下一条查询结果.        sqlITE_ERROR:发生了错误. 此时可以通过 sqlite3_errmmsg() 取得相关的错误信息. sqlite3_step() 不能被再次调用.        sqlITE_MISUSE:不正确的库的使用. 该函数使用不当.其它:    有关预编译的使用,将在以后的函数介绍中详细说明.int sqlite3_finalize(    sqlite3_stmt/* 被预编译的语句 */);说明:    该函数用来删除一条被预编译的 sql 语句示例:    sqlite3_finalize(pStmt);    pStmt [+++][+++]* pStmt    [+++][+++][+++][+++]= NulL;
总结

以上是内存溢出为你收集整理的SQLITE3 C语言接口 API 函数简介全部内容,希望文章能够帮你解决SQLITE3 C语言接口 API 函数简介所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 165, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
Error[8]: Undefined offset: 192, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

概述int sqlite3_open(    const char* filename,    /* 数据库文件名, 必须为 UTF-8 格式 */                                sqlite3** ppDB            /* 输出: SQLite 数据库句柄 */);  说明:    该函数打开由 filename 指定的数据库, 一个数据库连接句柄由 *p

int sqlite3_open( const char* filename,/* 数据库文件名,必须为 UTF-8 格式 */

sqlite3** ppDB /* 输出: sqlite 数据库句柄 */);

说明: 该函数打开由 filename 指定的数据库,一个数据库连接句柄由 *ppDB 返回(不管是否发生了一个错误). 唯一异常是 sqlite 无法为 sqlite 对象分配内存空间,此时将返回 NulL. 如果数据库被成功打开(和/或 创建),函数返回 sqlITE_OK(0). 否则返回一个错误码,可以通过 sqlite3_errmsg() 取得错误原因. 无论是否成功打开数据库,都应该使用 sqlite3_close() 关闭数据库连接.

示例: int ret = 0; char* filename = "./nbsg.db"; sqlite3* pDB = NulL; to_utf8(filename);

ret = sqlite3_open(filename,&pDB);

if(ret != sqlITE_OK)

...

int sqlite3_close( sqlite3* pDB /* 由 sqlite3_open 或基相关的函数打开的 sqlite 对象句柄 */ );

说明: 该函数用来析构 sqlite3 对象. 返回 sqlITE_OK 表示对象被成功析构,以及所有相关的资源被成功回收应用程序必须在关闭之前 "完成(finalize)" 所有的 "预编译语句(prepared statements)",并且关闭所有的 "二进制句柄绑定(BLOB handle)",如果在关闭时还有未完成的预编译语句或二进制句柄,那么函数返回 sqlITE_BUSY(5).

示例: if(pDB != NulL) { sqlite3_close(pDB); pDB = NulL; }

int sqlite3_errcode( sqlite3* pDB /* sqlite3 数据库句柄 */ ); 说明: 该函数返回最近一次调用 sqlite3_ API时产生的错误码. 示例: int errcode = sqlite3_errcode(pDB); const char * sqlite3_errmsg( sqlite3* pDB /* sqlite3 数据库句柄 */ ); 说明: 该函数返回与pDB数据库指针相关的错误信息,由英语书写. 用户不必考虑内存的释放,其由sqlite内部管理,它也将会在下产次调用函数时被覆盖. 示例: printf( " %s\n " ,sqlite3_errmsg(pDB));
/* sqlite3_exec(),2012-05-28 */int sqlite3_exec(    sqlite3* pDB,/* sqlite3句柄 */    const char* sql,/* 被执行的 sql 语句 */    int (*callback)(voID*,int,char**,char**),/* 执行/查询回调函数 */    voID* pvoID,/* 传递给回调函数的第一个参数 */    char**errmsg    /* 错误输出信息 */);说明:    该函数用来执行若干条 sql 语句.    该函数包裹了先前版本的 sqlite3_prepare(),sqlte3_step() 和 sqlite3_finalize() 函数,这样,用户就可以执行简单的代码执行多条 sql 语句.    sqlite3_exec()接口执行多条以";"分隔的SQL语句. 如果回调函数不为 NulL,则它对每一个行查询结果都会调用该回调函数. 如果没有回调函数被指定,sqlite3_exec() 只是简单地忽略查询结果.    当在执行该SQL语句发生错误时,执行将发生中断,并且后面的语句也全部被忽略. 如果 errmsg 参数不为空任何错误信息将会被写进由 sqlite3_malloc() 得到的的内存空间中,即 errmsg 指向的内存. 为了避免内存泄漏,应用程序应该在不需要该错误信息后立即调用 sqlite3_free() 释放该内存空间. 如果 errmsg 参数不为 NulL,并且没有错误发生,errmsg 被设置为 NulL.    如果回调函数返回非零,sqlite3_exec() 立即中断查询,并且不再执行后续的 sql 语句,也不再调用回调函数,sqlite3_exec() 将返回 sqlITE_ABORT 结束执行.示例:    sqlite3_exec(pDB,to_utf8("delete from tablename where ID=123;"),NulL,NulL);    sqlite3_exec(pDB,to_utf8("create table if not exists tablename (ID integer primary key,name text);"),to_utf8("insert into tablename (name) values ('女孩不哭');"),NulL);    if(sqlite3_exec(pDB,to_utf8("select * from tablename;"),sqlite_callback,&pszErrMsg) != sqlITE_OK)    {        ...        sqlite3_free(pszErrMsg);        pszErrMsg = NulL;    }
/* sqlite3_prepare(),sqlite3_step(),sqlite3_finalize() */int sqlite3_prepare(    sqlite3* pDB,/* 成功打开的数据库句柄 */    const char* sql,/* UTF8编码的 sql 语句 */    int nbytes,/* 参数 sql 的字节数,包含 '*/'     sqlite3_stmt/*** ppStmt, 输出:预编译语句句柄 */const    char /*** pszTail     输出:指向 sql 语句中未使用的部分 */);说明:    要执行一条 sql 查询,其必须先被编译成字节码,然后才能被其它函数使用.    如果 nbytes 小于零,sql 语句则以第一个 ''0'终结. 如果它非负,则为读取的最大长度. 当  nbytes 大于 ' 时,则读取指定长度,如果'''先被读到,则以'''结束. 如果用户知道被传入的 sql 语句是以 ),这样可以避免 sqlite 复制该字符串的一份拷贝,以提高程序的效率.    如果 pszTail 不为 NulL,则 pszTail 指向的内容则是未被编译的.    pszStmt 的值为NulL.    调用者应该使用 sqlite3_finalize() 删掉被预编译的语句.    如果函数成功,返回 sqlITE_OK,否则返回一个错误码. 结尾的,那么有一个更好的做法是:把nbytes的值设为该字符串的长度(包含int sqlite3_step(    sqlite3_stmt/* 一条被预编译的 sql 语句 *pszTail 指向 sql 中第一个被传入的 sql 语句的结尾. 该函数只编译 sql 的第一个语句,所以 **/*ppStmt 指向一条可以被 sqlIE3_step() 函数使用的预编译语句. 如果有错误发生,*);说明:    当一条语句被 sqlite3_prepare() 或其相关的函数预编译后,sqlite3_step() 必须被调用一次或多次来评估该预编译语句.    该函数的详细行为依赖于由 sqlite3_prepare()(或其相关的函数) 产生的是一条怎样的预编译语句.    函数将返回一个以下的结果来标识其执行结果:        sqlITE_BUSY:忙碌. 数据库引擎无法锁定数据去完成其工作. 但可以多次尝试.        sqlITE_DONE:完成. sql 语句已经被成功地执行. 在调用 sqlite_reset() 之前,当前预编译的语句不应该被 sqlite3_step() 再次调用.        sqlITE_ROW:查询时产生了结果. 此时可以通过相关的"数据访问函数(column access functions)* ppStmt    "来取得数据. sqlite3_step() 的再一次调用将取得下一条查询结果.        sqlITE_ERROR:发生了错误. 此时可以通过 sqlite3_errmmsg() 取得相关的错误信息. sqlite3_step() 不能被再次调用.        sqlITE_MISUSE:不正确的库的使用. 该函数使用不当.其它:    有关预编译的使用,将在以后的函数介绍中详细说明.int sqlite3_finalize(    sqlite3_stmt/* 被预编译的语句 */);说明:    该函数用来删除一条被预编译的 sql 语句示例:    sqlite3_finalize(pStmt);    pStmt [+++]* pStmt    [+++][+++][+++][+++]= NulL;
总结

以上是内存溢出为你收集整理的SQLITE3 C语言接口 API 函数简介全部内容,希望文章能够帮你解决SQLITE3 C语言接口 API 函数简介所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 165, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
Error[8]: Undefined offset: 193, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

概述int sqlite3_open(    const char* filename,    /* 数据库文件名, 必须为 UTF-8 格式 */                                sqlite3** ppDB            /* 输出: SQLite 数据库句柄 */);  说明:    该函数打开由 filename 指定的数据库, 一个数据库连接句柄由 *p

int sqlite3_open( const char* filename,/* 数据库文件名,必须为 UTF-8 格式 */

sqlite3** ppDB /* 输出: sqlite 数据库句柄 */);

说明: 该函数打开由 filename 指定的数据库,一个数据库连接句柄由 *ppDB 返回(不管是否发生了一个错误). 唯一异常是 sqlite 无法为 sqlite 对象分配内存空间,此时将返回 NulL. 如果数据库被成功打开(和/或 创建),函数返回 sqlITE_OK(0). 否则返回一个错误码,可以通过 sqlite3_errmsg() 取得错误原因. 无论是否成功打开数据库,都应该使用 sqlite3_close() 关闭数据库连接.

示例: int ret = 0; char* filename = "./nbsg.db"; sqlite3* pDB = NulL; to_utf8(filename);

ret = sqlite3_open(filename,&pDB);

if(ret != sqlITE_OK)

...

int sqlite3_close( sqlite3* pDB /* 由 sqlite3_open 或基相关的函数打开的 sqlite 对象句柄 */ );

说明: 该函数用来析构 sqlite3 对象. 返回 sqlITE_OK 表示对象被成功析构,以及所有相关的资源被成功回收应用程序必须在关闭之前 "完成(finalize)" 所有的 "预编译语句(prepared statements)",并且关闭所有的 "二进制句柄绑定(BLOB handle)",如果在关闭时还有未完成的预编译语句或二进制句柄,那么函数返回 sqlITE_BUSY(5).

示例: if(pDB != NulL) { sqlite3_close(pDB); pDB = NulL; }

int sqlite3_errcode( sqlite3* pDB /* sqlite3 数据库句柄 */ ); 说明: 该函数返回最近一次调用 sqlite3_ API时产生的错误码. 示例: int errcode = sqlite3_errcode(pDB); const char * sqlite3_errmsg( sqlite3* pDB /* sqlite3 数据库句柄 */ ); 说明: 该函数返回与pDB数据库指针相关的错误信息,由英语书写. 用户不必考虑内存的释放,其由sqlite内部管理,它也将会在下产次调用函数时被覆盖. 示例: printf( " %s\n " ,sqlite3_errmsg(pDB));
/* sqlite3_exec(),2012-05-28 */int sqlite3_exec(    sqlite3* pDB,/* sqlite3句柄 */    const char* sql,/* 被执行的 sql 语句 */    int (*callback)(voID*,int,char**,char**),/* 执行/查询回调函数 */    voID* pvoID,/* 传递给回调函数的第一个参数 */    char**errmsg    /* 错误输出信息 */);说明:    该函数用来执行若干条 sql 语句.    该函数包裹了先前版本的 sqlite3_prepare(),sqlte3_step() 和 sqlite3_finalize() 函数,这样,用户就可以执行简单的代码执行多条 sql 语句.    sqlite3_exec()接口执行多条以";"分隔的SQL语句. 如果回调函数不为 NulL,则它对每一个行查询结果都会调用该回调函数. 如果没有回调函数被指定,sqlite3_exec() 只是简单地忽略查询结果.    当在执行该SQL语句发生错误时,执行将发生中断,并且后面的语句也全部被忽略. 如果 errmsg 参数不为空任何错误信息将会被写进由 sqlite3_malloc() 得到的的内存空间中,即 errmsg 指向的内存. 为了避免内存泄漏,应用程序应该在不需要该错误信息后立即调用 sqlite3_free() 释放该内存空间. 如果 errmsg 参数不为 NulL,并且没有错误发生,errmsg 被设置为 NulL.    如果回调函数返回非零,sqlite3_exec() 立即中断查询,并且不再执行后续的 sql 语句,也不再调用回调函数,sqlite3_exec() 将返回 sqlITE_ABORT 结束执行.示例:    sqlite3_exec(pDB,to_utf8("delete from tablename where ID=123;"),NulL,NulL);    sqlite3_exec(pDB,to_utf8("create table if not exists tablename (ID integer primary key,name text);"),to_utf8("insert into tablename (name) values ('女孩不哭');"),NulL);    if(sqlite3_exec(pDB,to_utf8("select * from tablename;"),sqlite_callback,&pszErrMsg) != sqlITE_OK)    {        ...        sqlite3_free(pszErrMsg);        pszErrMsg = NulL;    }
/* sqlite3_prepare(),sqlite3_step(),sqlite3_finalize() */int sqlite3_prepare(    sqlite3* pDB,/* 成功打开的数据库句柄 */    const char* sql,/* UTF8编码的 sql 语句 */    int nbytes,/* 参数 sql 的字节数,包含 '*/'     sqlite3_stmt/*** ppStmt, 输出:预编译语句句柄 */const    char /*** pszTail     输出:指向 sql 语句中未使用的部分 */);说明:    要执行一条 sql 查询,其必须先被编译成字节码,然后才能被其它函数使用.    如果 nbytes 小于零,sql 语句则以第一个 ''0'终结. 如果它非负,则为读取的最大长度. 当  nbytes 大于 ' 时,则读取指定长度,如果'''先被读到,则以'''结束. 如果用户知道被传入的 sql 语句是以 ),这样可以避免 sqlite 复制该字符串的一份拷贝,以提高程序的效率.    如果 pszTail 不为 NulL,则 pszTail 指向的内容则是未被编译的.    pszStmt 的值为NulL.    调用者应该使用 sqlite3_finalize() 删掉被预编译的语句.    如果函数成功,返回 sqlITE_OK,否则返回一个错误码. 结尾的,那么有一个更好的做法是:把nbytes的值设为该字符串的长度(包含int sqlite3_step(    sqlite3_stmt/* 一条被预编译的 sql 语句 *pszTail 指向 sql 中第一个被传入的 sql 语句的结尾. 该函数只编译 sql 的第一个语句,所以 **/*ppStmt 指向一条可以被 sqlIE3_step() 函数使用的预编译语句. 如果有错误发生,*);说明:    当一条语句被 sqlite3_prepare() 或其相关的函数预编译后,sqlite3_step() 必须被调用一次或多次来评估该预编译语句.    该函数的详细行为依赖于由 sqlite3_prepare()(或其相关的函数) 产生的是一条怎样的预编译语句.    函数将返回一个以下的结果来标识其执行结果:        sqlITE_BUSY:忙碌. 数据库引擎无法锁定数据去完成其工作. 但可以多次尝试.        sqlITE_DONE:完成. sql 语句已经被成功地执行. 在调用 sqlite_reset() 之前,当前预编译的语句不应该被 sqlite3_step() 再次调用.        sqlITE_ROW:查询时产生了结果. 此时可以通过相关的"数据访问函数(column access functions)* ppStmt    "来取得数据. sqlite3_step() 的再一次调用将取得下一条查询结果.        sqlITE_ERROR:发生了错误. 此时可以通过 sqlite3_errmmsg() 取得相关的错误信息. sqlite3_step() 不能被再次调用.        sqlITE_MISUSE:不正确的库的使用. 该函数使用不当.其它:    有关预编译的使用,将在以后的函数介绍中详细说明.int sqlite3_finalize(    sqlite3_stmt/* 被预编译的语句 */);说明:    该函数用来删除一条被预编译的 sql 语句示例:    sqlite3_finalize(pStmt);    pStmt * pStmt    [+++][+++][+++][+++]= NulL;
总结

以上是内存溢出为你收集整理的SQLITE3 C语言接口 API 函数简介全部内容,希望文章能够帮你解决SQLITE3 C语言接口 API 函数简介所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 165, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
Error[8]: Undefined offset: 194, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

概述int sqlite3_open(    const char* filename,    /* 数据库文件名, 必须为 UTF-8 格式 */                                sqlite3** ppDB            /* 输出: SQLite 数据库句柄 */);  说明:    该函数打开由 filename 指定的数据库, 一个数据库连接句柄由 *p

int sqlite3_open( const char* filename,/* 数据库文件名,必须为 UTF-8 格式 */

sqlite3** ppDB /* 输出: sqlite 数据库句柄 */);

说明: 该函数打开由 filename 指定的数据库,一个数据库连接句柄由 *ppDB 返回(不管是否发生了一个错误). 唯一异常是 sqlite 无法为 sqlite 对象分配内存空间,此时将返回 NulL. 如果数据库被成功打开(和/或 创建),函数返回 sqlITE_OK(0). 否则返回一个错误码,可以通过 sqlite3_errmsg() 取得错误原因. 无论是否成功打开数据库,都应该使用 sqlite3_close() 关闭数据库连接.

示例: int ret = 0; char* filename = "./nbsg.db"; sqlite3* pDB = NulL; to_utf8(filename);

ret = sqlite3_open(filename,&pDB);

if(ret != sqlITE_OK)

...

int sqlite3_close( sqlite3* pDB /* 由 sqlite3_open 或基相关的函数打开的 sqlite 对象句柄 */ );

说明: 该函数用来析构 sqlite3 对象. 返回 sqlITE_OK 表示对象被成功析构,以及所有相关的资源被成功回收应用程序必须在关闭之前 "完成(finalize)" 所有的 "预编译语句(prepared statements)",并且关闭所有的 "二进制句柄绑定(BLOB handle)",如果在关闭时还有未完成的预编译语句或二进制句柄,那么函数返回 sqlITE_BUSY(5).

示例: if(pDB != NulL) { sqlite3_close(pDB); pDB = NulL; }

int sqlite3_errcode( sqlite3* pDB /* sqlite3 数据库句柄 */ ); 说明: 该函数返回最近一次调用 sqlite3_ API时产生的错误码. 示例: int errcode = sqlite3_errcode(pDB); const char * sqlite3_errmsg( sqlite3* pDB /* sqlite3 数据库句柄 */ ); 说明: 该函数返回与pDB数据库指针相关的错误信息,由英语书写. 用户不必考虑内存的释放,其由sqlite内部管理,它也将会在下产次调用函数时被覆盖. 示例: printf( " %s\n " ,sqlite3_errmsg(pDB));
/* sqlite3_exec(),2012-05-28 */int sqlite3_exec(    sqlite3* pDB,/* sqlite3句柄 */    const char* sql,/* 被执行的 sql 语句 */    int (*callback)(voID*,int,char**,char**),/* 执行/查询回调函数 */    voID* pvoID,/* 传递给回调函数的第一个参数 */    char**errmsg    /* 错误输出信息 */);说明:    该函数用来执行若干条 sql 语句.    该函数包裹了先前版本的 sqlite3_prepare(),sqlte3_step() 和 sqlite3_finalize() 函数,这样,用户就可以执行简单的代码执行多条 sql 语句.    sqlite3_exec()接口执行多条以";"分隔的SQL语句. 如果回调函数不为 NulL,则它对每一个行查询结果都会调用该回调函数. 如果没有回调函数被指定,sqlite3_exec() 只是简单地忽略查询结果.    当在执行该SQL语句发生错误时,执行将发生中断,并且后面的语句也全部被忽略. 如果 errmsg 参数不为空任何错误信息将会被写进由 sqlite3_malloc() 得到的的内存空间中,即 errmsg 指向的内存. 为了避免内存泄漏,应用程序应该在不需要该错误信息后立即调用 sqlite3_free() 释放该内存空间. 如果 errmsg 参数不为 NulL,并且没有错误发生,errmsg 被设置为 NulL.    如果回调函数返回非零,sqlite3_exec() 立即中断查询,并且不再执行后续的 sql 语句,也不再调用回调函数,sqlite3_exec() 将返回 sqlITE_ABORT 结束执行.示例:    sqlite3_exec(pDB,to_utf8("delete from tablename where ID=123;"),NulL,NulL);    sqlite3_exec(pDB,to_utf8("create table if not exists tablename (ID integer primary key,name text);"),to_utf8("insert into tablename (name) values ('女孩不哭');"),NulL);    if(sqlite3_exec(pDB,to_utf8("select * from tablename;"),sqlite_callback,&pszErrMsg) != sqlITE_OK)    {        ...        sqlite3_free(pszErrMsg);        pszErrMsg = NulL;    }
/* sqlite3_prepare(),sqlite3_step(),sqlite3_finalize() */int sqlite3_prepare(    sqlite3* pDB,/* 成功打开的数据库句柄 */    const char* sql,/* UTF8编码的 sql 语句 */    int nbytes,/* 参数 sql 的字节数,包含 '*/'     sqlite3_stmt/*** ppStmt, 输出:预编译语句句柄 */const    char /*** pszTail     输出:指向 sql 语句中未使用的部分 */);说明:    要执行一条 sql 查询,其必须先被编译成字节码,然后才能被其它函数使用.    如果 nbytes 小于零,sql 语句则以第一个 ''0'终结. 如果它非负,则为读取的最大长度. 当  nbytes 大于 ' 时,则读取指定长度,如果'''先被读到,则以'''结束. 如果用户知道被传入的 sql 语句是以 ),这样可以避免 sqlite 复制该字符串的一份拷贝,以提高程序的效率.    如果 pszTail 不为 NulL,则 pszTail 指向的内容则是未被编译的.    pszStmt 的值为NulL.    调用者应该使用 sqlite3_finalize() 删掉被预编译的语句.    如果函数成功,返回 sqlITE_OK,否则返回一个错误码. 结尾的,那么有一个更好的做法是:把nbytes的值设为该字符串的长度(包含int sqlite3_step(    sqlite3_stmt/* 一条被预编译的 sql 语句 *pszTail 指向 sql 中第一个被传入的 sql 语句的结尾. 该函数只编译 sql 的第一个语句,所以 **/*ppStmt 指向一条可以被 sqlIE3_step() 函数使用的预编译语句. 如果有错误发生,*);说明:    当一条语句被 sqlite3_prepare() 或其相关的函数预编译后,sqlite3_step() 必须被调用一次或多次来评估该预编译语句.    该函数的详细行为依赖于由 sqlite3_prepare()(或其相关的函数) 产生的是一条怎样的预编译语句.    函数将返回一个以下的结果来标识其执行结果:        sqlITE_BUSY:忙碌. 数据库引擎无法锁定数据去完成其工作. 但可以多次尝试.        sqlITE_DONE:完成. sql 语句已经被成功地执行. 在调用 sqlite_reset() 之前,当前预编译的语句不应该被 sqlite3_step() 再次调用.        sqlITE_ROW:查询时产生了结果. 此时可以通过相关的"数据访问函数(column access functions)* ppStmt    "来取得数据. sqlite3_step() 的再一次调用将取得下一条查询结果.        sqlITE_ERROR:发生了错误. 此时可以通过 sqlite3_errmmsg() 取得相关的错误信息. sqlite3_step() 不能被再次调用.        sqlITE_MISUSE:不正确的库的使用. 该函数使用不当.其它:    有关预编译的使用,将在以后的函数介绍中详细说明.int sqlite3_finalize(    sqlite3_stmt/* 被预编译的语句 */);说明:    该函数用来删除一条被预编译的 sql 语句示例:    sqlite3_finalize(pStmt);    pStmt * pStmt    [+++][+++][+++]= NulL;
总结

以上是内存溢出为你收集整理的SQLITE3 C语言接口 API 函数简介全部内容,希望文章能够帮你解决SQLITE3 C语言接口 API 函数简介所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 165, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
Error[8]: Undefined offset: 195, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

概述int sqlite3_open(    const char* filename,    /* 数据库文件名, 必须为 UTF-8 格式 */                                sqlite3** ppDB            /* 输出: SQLite 数据库句柄 */);  说明:    该函数打开由 filename 指定的数据库, 一个数据库连接句柄由 *p

int sqlite3_open( const char* filename,/* 数据库文件名,必须为 UTF-8 格式 */

sqlite3** ppDB /* 输出: sqlite 数据库句柄 */);

说明: 该函数打开由 filename 指定的数据库,一个数据库连接句柄由 *ppDB 返回(不管是否发生了一个错误). 唯一异常是 sqlite 无法为 sqlite 对象分配内存空间,此时将返回 NulL. 如果数据库被成功打开(和/或 创建),函数返回 sqlITE_OK(0). 否则返回一个错误码,可以通过 sqlite3_errmsg() 取得错误原因. 无论是否成功打开数据库,都应该使用 sqlite3_close() 关闭数据库连接.

示例: int ret = 0; char* filename = "./nbsg.db"; sqlite3* pDB = NulL; to_utf8(filename);

ret = sqlite3_open(filename,&pDB);

if(ret != sqlITE_OK)

...

int sqlite3_close( sqlite3* pDB /* 由 sqlite3_open 或基相关的函数打开的 sqlite 对象句柄 */ );

说明: 该函数用来析构 sqlite3 对象. 返回 sqlITE_OK 表示对象被成功析构,以及所有相关的资源被成功回收应用程序必须在关闭之前 "完成(finalize)" 所有的 "预编译语句(prepared statements)",并且关闭所有的 "二进制句柄绑定(BLOB handle)",如果在关闭时还有未完成的预编译语句或二进制句柄,那么函数返回 sqlITE_BUSY(5).

示例: if(pDB != NulL) { sqlite3_close(pDB); pDB = NulL; }

int sqlite3_errcode( sqlite3* pDB /* sqlite3 数据库句柄 */ ); 说明: 该函数返回最近一次调用 sqlite3_ API时产生的错误码. 示例: int errcode = sqlite3_errcode(pDB); const char * sqlite3_errmsg( sqlite3* pDB /* sqlite3 数据库句柄 */ ); 说明: 该函数返回与pDB数据库指针相关的错误信息,由英语书写. 用户不必考虑内存的释放,其由sqlite内部管理,它也将会在下产次调用函数时被覆盖. 示例: printf( " %s\n " ,sqlite3_errmsg(pDB));
/* sqlite3_exec(),2012-05-28 */int sqlite3_exec(    sqlite3* pDB,/* sqlite3句柄 */    const char* sql,/* 被执行的 sql 语句 */    int (*callback)(voID*,int,char**,char**),/* 执行/查询回调函数 */    voID* pvoID,/* 传递给回调函数的第一个参数 */    char**errmsg    /* 错误输出信息 */);说明:    该函数用来执行若干条 sql 语句.    该函数包裹了先前版本的 sqlite3_prepare(),sqlte3_step() 和 sqlite3_finalize() 函数,这样,用户就可以执行简单的代码执行多条 sql 语句.    sqlite3_exec()接口执行多条以";"分隔的SQL语句. 如果回调函数不为 NulL,则它对每一个行查询结果都会调用该回调函数. 如果没有回调函数被指定,sqlite3_exec() 只是简单地忽略查询结果.    当在执行该SQL语句发生错误时,执行将发生中断,并且后面的语句也全部被忽略. 如果 errmsg 参数不为空任何错误信息将会被写进由 sqlite3_malloc() 得到的的内存空间中,即 errmsg 指向的内存. 为了避免内存泄漏,应用程序应该在不需要该错误信息后立即调用 sqlite3_free() 释放该内存空间. 如果 errmsg 参数不为 NulL,并且没有错误发生,errmsg 被设置为 NulL.    如果回调函数返回非零,sqlite3_exec() 立即中断查询,并且不再执行后续的 sql 语句,也不再调用回调函数,sqlite3_exec() 将返回 sqlITE_ABORT 结束执行.示例:    sqlite3_exec(pDB,to_utf8("delete from tablename where ID=123;"),NulL,NulL);    sqlite3_exec(pDB,to_utf8("create table if not exists tablename (ID integer primary key,name text);"),to_utf8("insert into tablename (name) values ('女孩不哭');"),NulL);    if(sqlite3_exec(pDB,to_utf8("select * from tablename;"),sqlite_callback,&pszErrMsg) != sqlITE_OK)    {        ...        sqlite3_free(pszErrMsg);        pszErrMsg = NulL;    }
/* sqlite3_prepare(),sqlite3_step(),sqlite3_finalize() */int sqlite3_prepare(    sqlite3* pDB,/* 成功打开的数据库句柄 */    const char* sql,/* UTF8编码的 sql 语句 */    int nbytes,/* 参数 sql 的字节数,包含 '*/'     sqlite3_stmt/*** ppStmt, 输出:预编译语句句柄 */const    char /*** pszTail     输出:指向 sql 语句中未使用的部分 */);说明:    要执行一条 sql 查询,其必须先被编译成字节码,然后才能被其它函数使用.    如果 nbytes 小于零,sql 语句则以第一个 ''0'终结. 如果它非负,则为读取的最大长度. 当  nbytes 大于 ' 时,则读取指定长度,如果'''先被读到,则以'''结束. 如果用户知道被传入的 sql 语句是以 ),这样可以避免 sqlite 复制该字符串的一份拷贝,以提高程序的效率.    如果 pszTail 不为 NulL,则 pszTail 指向的内容则是未被编译的.    pszStmt 的值为NulL.    调用者应该使用 sqlite3_finalize() 删掉被预编译的语句.    如果函数成功,返回 sqlITE_OK,否则返回一个错误码. 结尾的,那么有一个更好的做法是:把nbytes的值设为该字符串的长度(包含int sqlite3_step(    sqlite3_stmt/* 一条被预编译的 sql 语句 *pszTail 指向 sql 中第一个被传入的 sql 语句的结尾. 该函数只编译 sql 的第一个语句,所以 **/*ppStmt 指向一条可以被 sqlIE3_step() 函数使用的预编译语句. 如果有错误发生,*);说明:    当一条语句被 sqlite3_prepare() 或其相关的函数预编译后,sqlite3_step() 必须被调用一次或多次来评估该预编译语句.    该函数的详细行为依赖于由 sqlite3_prepare()(或其相关的函数) 产生的是一条怎样的预编译语句.    函数将返回一个以下的结果来标识其执行结果:        sqlITE_BUSY:忙碌. 数据库引擎无法锁定数据去完成其工作. 但可以多次尝试.        sqlITE_DONE:完成. sql 语句已经被成功地执行. 在调用 sqlite_reset() 之前,当前预编译的语句不应该被 sqlite3_step() 再次调用.        sqlITE_ROW:查询时产生了结果. 此时可以通过相关的"数据访问函数(column access functions)* ppStmt    "来取得数据. sqlite3_step() 的再一次调用将取得下一条查询结果.        sqlITE_ERROR:发生了错误. 此时可以通过 sqlite3_errmmsg() 取得相关的错误信息. sqlite3_step() 不能被再次调用.        sqlITE_MISUSE:不正确的库的使用. 该函数使用不当.其它:    有关预编译的使用,将在以后的函数介绍中详细说明.int sqlite3_finalize(    sqlite3_stmt/* 被预编译的语句 */);说明:    该函数用来删除一条被预编译的 sql 语句示例:    sqlite3_finalize(pStmt);    pStmt * pStmt    [+++][+++]= NulL;
总结

以上是内存溢出为你收集整理的SQLITE3 C语言接口 API 函数简介全部内容,希望文章能够帮你解决SQLITE3 C语言接口 API 函数简介所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 165, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
Error[8]: Undefined offset: 196, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

概述int sqlite3_open(    const char* filename,    /* 数据库文件名, 必须为 UTF-8 格式 */                                sqlite3** ppDB            /* 输出: SQLite 数据库句柄 */);  说明:    该函数打开由 filename 指定的数据库, 一个数据库连接句柄由 *p

int sqlite3_open( const char* filename,/* 数据库文件名,必须为 UTF-8 格式 */

sqlite3** ppDB /* 输出: sqlite 数据库句柄 */);

说明: 该函数打开由 filename 指定的数据库,一个数据库连接句柄由 *ppDB 返回(不管是否发生了一个错误). 唯一异常是 sqlite 无法为 sqlite 对象分配内存空间,此时将返回 NulL. 如果数据库被成功打开(和/或 创建),函数返回 sqlITE_OK(0). 否则返回一个错误码,可以通过 sqlite3_errmsg() 取得错误原因. 无论是否成功打开数据库,都应该使用 sqlite3_close() 关闭数据库连接.

示例: int ret = 0; char* filename = "./nbsg.db"; sqlite3* pDB = NulL; to_utf8(filename);

ret = sqlite3_open(filename,&pDB);

if(ret != sqlITE_OK)

...

int sqlite3_close( sqlite3* pDB /* 由 sqlite3_open 或基相关的函数打开的 sqlite 对象句柄 */ );

说明: 该函数用来析构 sqlite3 对象. 返回 sqlITE_OK 表示对象被成功析构,以及所有相关的资源被成功回收应用程序必须在关闭之前 "完成(finalize)" 所有的 "预编译语句(prepared statements)",并且关闭所有的 "二进制句柄绑定(BLOB handle)",如果在关闭时还有未完成的预编译语句或二进制句柄,那么函数返回 sqlITE_BUSY(5).

示例: if(pDB != NulL) { sqlite3_close(pDB); pDB = NulL; }

int sqlite3_errcode( sqlite3* pDB /* sqlite3 数据库句柄 */ ); 说明: 该函数返回最近一次调用 sqlite3_ API时产生的错误码. 示例: int errcode = sqlite3_errcode(pDB); const char * sqlite3_errmsg( sqlite3* pDB /* sqlite3 数据库句柄 */ ); 说明: 该函数返回与pDB数据库指针相关的错误信息,由英语书写. 用户不必考虑内存的释放,其由sqlite内部管理,它也将会在下产次调用函数时被覆盖. 示例: printf( " %s\n " ,sqlite3_errmsg(pDB));
/* sqlite3_exec(),2012-05-28 */int sqlite3_exec(    sqlite3* pDB,/* sqlite3句柄 */    const char* sql,/* 被执行的 sql 语句 */    int (*callback)(voID*,int,char**,char**),/* 执行/查询回调函数 */    voID* pvoID,/* 传递给回调函数的第一个参数 */    char**errmsg    /* 错误输出信息 */);说明:    该函数用来执行若干条 sql 语句.    该函数包裹了先前版本的 sqlite3_prepare(),sqlte3_step() 和 sqlite3_finalize() 函数,这样,用户就可以执行简单的代码执行多条 sql 语句.    sqlite3_exec()接口执行多条以";"分隔的SQL语句. 如果回调函数不为 NulL,则它对每一个行查询结果都会调用该回调函数. 如果没有回调函数被指定,sqlite3_exec() 只是简单地忽略查询结果.    当在执行该SQL语句发生错误时,执行将发生中断,并且后面的语句也全部被忽略. 如果 errmsg 参数不为空任何错误信息将会被写进由 sqlite3_malloc() 得到的的内存空间中,即 errmsg 指向的内存. 为了避免内存泄漏,应用程序应该在不需要该错误信息后立即调用 sqlite3_free() 释放该内存空间. 如果 errmsg 参数不为 NulL,并且没有错误发生,errmsg 被设置为 NulL.    如果回调函数返回非零,sqlite3_exec() 立即中断查询,并且不再执行后续的 sql 语句,也不再调用回调函数,sqlite3_exec() 将返回 sqlITE_ABORT 结束执行.示例:    sqlite3_exec(pDB,to_utf8("delete from tablename where ID=123;"),NulL,NulL);    sqlite3_exec(pDB,to_utf8("create table if not exists tablename (ID integer primary key,name text);"),to_utf8("insert into tablename (name) values ('女孩不哭');"),NulL);    if(sqlite3_exec(pDB,to_utf8("select * from tablename;"),sqlite_callback,&pszErrMsg) != sqlITE_OK)    {        ...        sqlite3_free(pszErrMsg);        pszErrMsg = NulL;    }
/* sqlite3_prepare(),sqlite3_step(),sqlite3_finalize() */int sqlite3_prepare(    sqlite3* pDB,/* 成功打开的数据库句柄 */    const char* sql,/* UTF8编码的 sql 语句 */    int nbytes,/* 参数 sql 的字节数,包含 '*/'     sqlite3_stmt/*** ppStmt, 输出:预编译语句句柄 */const    char /*** pszTail     输出:指向 sql 语句中未使用的部分 */);说明:    要执行一条 sql 查询,其必须先被编译成字节码,然后才能被其它函数使用.    如果 nbytes 小于零,sql 语句则以第一个 ''0'终结. 如果它非负,则为读取的最大长度. 当  nbytes 大于 ' 时,则读取指定长度,如果'''先被读到,则以'''结束. 如果用户知道被传入的 sql 语句是以 ),这样可以避免 sqlite 复制该字符串的一份拷贝,以提高程序的效率.    如果 pszTail 不为 NulL,则 pszTail 指向的内容则是未被编译的.    pszStmt 的值为NulL.    调用者应该使用 sqlite3_finalize() 删掉被预编译的语句.    如果函数成功,返回 sqlITE_OK,否则返回一个错误码. 结尾的,那么有一个更好的做法是:把nbytes的值设为该字符串的长度(包含int sqlite3_step(    sqlite3_stmt/* 一条被预编译的 sql 语句 *pszTail 指向 sql 中第一个被传入的 sql 语句的结尾. 该函数只编译 sql 的第一个语句,所以 **/*ppStmt 指向一条可以被 sqlIE3_step() 函数使用的预编译语句. 如果有错误发生,*);说明:    当一条语句被 sqlite3_prepare() 或其相关的函数预编译后,sqlite3_step() 必须被调用一次或多次来评估该预编译语句.    该函数的详细行为依赖于由 sqlite3_prepare()(或其相关的函数) 产生的是一条怎样的预编译语句.    函数将返回一个以下的结果来标识其执行结果:        sqlITE_BUSY:忙碌. 数据库引擎无法锁定数据去完成其工作. 但可以多次尝试.        sqlITE_DONE:完成. sql 语句已经被成功地执行. 在调用 sqlite_reset() 之前,当前预编译的语句不应该被 sqlite3_step() 再次调用.        sqlITE_ROW:查询时产生了结果. 此时可以通过相关的"数据访问函数(column access functions)* ppStmt    "来取得数据. sqlite3_step() 的再一次调用将取得下一条查询结果.        sqlITE_ERROR:发生了错误. 此时可以通过 sqlite3_errmmsg() 取得相关的错误信息. sqlite3_step() 不能被再次调用.        sqlITE_MISUSE:不正确的库的使用. 该函数使用不当.其它:    有关预编译的使用,将在以后的函数介绍中详细说明.int sqlite3_finalize(    sqlite3_stmt/* 被预编译的语句 */);说明:    该函数用来删除一条被预编译的 sql 语句示例:    sqlite3_finalize(pStmt);    pStmt * pStmt    [+++]= NulL;
总结

以上是内存溢出为你收集整理的SQLITE3 C语言接口 API 函数简介全部内容,希望文章能够帮你解决SQLITE3 C语言接口 API 函数简介所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 165, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
SQLITE3 C语言接口 API 函数简介_sql_内存溢出

SQLITE3 C语言接口 API 函数简介

SQLITE3 C语言接口 API 函数简介,第1张

概述int sqlite3_open(    const char* filename,    /* 数据库文件名, 必须为 UTF-8 格式 */                                sqlite3** ppDB            /* 输出: SQLite 数据库句柄 */);  说明:    该函数打开由 filename 指定的数据库, 一个数据库连接句柄由 *p

int sqlite3_open( const char* filename,/* 数据库文件名,必须为 UTF-8 格式 */

sqlite3** ppDB /* 输出: sqlite 数据库句柄 */);

说明: 该函数打开由 filename 指定的数据库,一个数据库连接句柄由 *ppDB 返回(不管是否发生了一个错误). 唯一异常是 sqlite 无法为 sqlite 对象分配内存空间,此时将返回 NulL. 如果数据库被成功打开(和/或 创建),函数返回 sqlITE_OK(0). 否则返回一个错误码,可以通过 sqlite3_errmsg() 取得错误原因. 无论是否成功打开数据库,都应该使用 sqlite3_close() 关闭数据库连接.

示例: int ret = 0; char* filename = "./nbsg.db"; sqlite3* pDB = NulL; to_utf8(filename);

ret = sqlite3_open(filename,&pDB);

if(ret != sqlITE_OK)

...

int sqlite3_close( sqlite3* pDB /* 由 sqlite3_open 或基相关的函数打开的 sqlite 对象句柄 */ );

说明: 该函数用来析构 sqlite3 对象. 返回 sqlITE_OK 表示对象被成功析构,以及所有相关的资源被成功回收应用程序必须在关闭之前 "完成(finalize)" 所有的 "预编译语句(prepared statements)",并且关闭所有的 "二进制句柄绑定(BLOB handle)",如果在关闭时还有未完成的预编译语句或二进制句柄,那么函数返回 sqlITE_BUSY(5).

示例: if(pDB != NulL) { sqlite3_close(pDB); pDB = NulL; }

int sqlite3_errcode( sqlite3* pDB /* sqlite3 数据库句柄 */ ); 说明: 该函数返回最近一次调用 sqlite3_ API时产生的错误码. 示例: int errcode = sqlite3_errcode(pDB); const char * sqlite3_errmsg( sqlite3* pDB /* sqlite3 数据库句柄 */ ); 说明: 该函数返回与pDB数据库指针相关的错误信息,由英语书写. 用户不必考虑内存的释放,其由sqlite内部管理,它也将会在下产次调用函数时被覆盖. 示例: printf( " %s\n " ,sqlite3_errmsg(pDB));
/* sqlite3_exec(),2012-05-28 */int sqlite3_exec(    sqlite3* pDB,/* sqlite3句柄 */    const char* sql,/* 被执行的 sql 语句 */    int (*callback)(voID*,int,char**,char**),/* 执行/查询回调函数 */    voID* pvoID,/* 传递给回调函数的第一个参数 */    char**errmsg    /* 错误输出信息 */);说明:    该函数用来执行若干条 sql 语句.    该函数包裹了先前版本的 sqlite3_prepare(),sqlte3_step() 和 sqlite3_finalize() 函数,这样,用户就可以执行简单的代码执行多条 sql 语句.    sqlite3_exec()接口执行多条以";"分隔的SQL语句. 如果回调函数不为 NulL,则它对每一个行查询结果都会调用该回调函数. 如果没有回调函数被指定,sqlite3_exec() 只是简单地忽略查询结果.    当在执行该SQL语句发生错误时,执行将发生中断,并且后面的语句也全部被忽略. 如果 errmsg 参数不为空任何错误信息将会被写进由 sqlite3_malloc() 得到的的内存空间中,即 errmsg 指向的内存. 为了避免内存泄漏,应用程序应该在不需要该错误信息后立即调用 sqlite3_free() 释放该内存空间. 如果 errmsg 参数不为 NulL,并且没有错误发生,errmsg 被设置为 NulL.    如果回调函数返回非零,sqlite3_exec() 立即中断查询,并且不再执行后续的 sql 语句,也不再调用回调函数,sqlite3_exec() 将返回 sqlITE_ABORT 结束执行.示例:    sqlite3_exec(pDB,to_utf8("delete from tablename where ID=123;"),NulL,NulL);    sqlite3_exec(pDB,to_utf8("create table if not exists tablename (ID integer primary key,name text);"),to_utf8("insert into tablename (name) values ('女孩不哭');"),NulL);    if(sqlite3_exec(pDB,to_utf8("select * from tablename;"),sqlite_callback,&pszErrMsg) != sqlITE_OK)    {        ...        sqlite3_free(pszErrMsg);        pszErrMsg = NulL;    }
/* sqlite3_prepare(),sqlite3_step(),sqlite3_finalize() */int sqlite3_prepare(    sqlite3* pDB,/* 成功打开的数据库句柄 */    const char* sql,/* UTF8编码的 sql 语句 */    int nbytes,/* 参数 sql 的字节数,包含 '*/'     sqlite3_stmt/*** ppStmt, 输出:预编译语句句柄 */const    char /*** pszTail     输出:指向 sql 语句中未使用的部分 */);说明:    要执行一条 sql 查询,其必须先被编译成字节码,然后才能被其它函数使用.    如果 nbytes 小于零,sql 语句则以第一个 ''0'终结. 如果它非负,则为读取的最大长度. 当  nbytes 大于 ' 时,则读取指定长度,如果'''先被读到,则以'''结束. 如果用户知道被传入的 sql 语句是以 ),这样可以避免 sqlite 复制该字符串的一份拷贝,以提高程序的效率.    如果 pszTail 不为 NulL,则 pszTail 指向的内容则是未被编译的.    pszStmt 的值为NulL.    调用者应该使用 sqlite3_finalize() 删掉被预编译的语句.    如果函数成功,返回 sqlITE_OK,否则返回一个错误码. 结尾的,那么有一个更好的做法是:把nbytes的值设为该字符串的长度(包含int sqlite3_step(    sqlite3_stmt/* 一条被预编译的 sql 语句 *pszTail 指向 sql 中第一个被传入的 sql 语句的结尾. 该函数只编译 sql 的第一个语句,所以 **/*ppStmt 指向一条可以被 sqlIE3_step() 函数使用的预编译语句. 如果有错误发生,*);说明:    当一条语句被 sqlite3_prepare() 或其相关的函数预编译后,sqlite3_step() 必须被调用一次或多次来评估该预编译语句.    该函数的详细行为依赖于由 sqlite3_prepare()(或其相关的函数) 产生的是一条怎样的预编译语句.    函数将返回一个以下的结果来标识其执行结果:        sqlITE_BUSY:忙碌. 数据库引擎无法锁定数据去完成其工作. 但可以多次尝试.        sqlITE_DONE:完成. sql 语句已经被成功地执行. 在调用 sqlite_reset() 之前,当前预编译的语句不应该被 sqlite3_step() 再次调用.        sqlITE_ROW:查询时产生了结果. 此时可以通过相关的"数据访问函数(column access functions)* ppStmt    "来取得数据. sqlite3_step() 的再一次调用将取得下一条查询结果.        sqlITE_ERROR:发生了错误. 此时可以通过 sqlite3_errmmsg() 取得相关的错误信息. sqlite3_step() 不能被再次调用.        sqlITE_MISUSE:不正确的库的使用. 该函数使用不当.其它:    有关预编译的使用,将在以后的函数介绍中详细说明.int sqlite3_finalize(    sqlite3_stmt/* 被预编译的语句 */);说明:    该函数用来删除一条被预编译的 sql 语句示例:    sqlite3_finalize(pStmt);    pStmt * pStmt    = NulL;
总结

以上是内存溢出为你收集整理的SQLITE3 C语言接口 API 函数简介全部内容,希望文章能够帮你解决SQLITE3 C语言接口 API 函数简介所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1172487.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存