sqlite3_reset作用
来源:互联网 发布:松视台在线直播软件 编辑:程序博客网 时间:2024/06/05 02:57
刚开始使用sqlite的时候,在一句sqlite执行完之后,习惯性的认为应该执行sqlite3_reset()函数,认为将其重置就能重复使用sqlite3_stmt,其实这是错误的,sqlite3_reset()操作的作用是:
1.如果之前没有执行sqlite3_step()或者执行了sqlite3_step(),并且sqlite3_step()返回了SQLITE_DONE、SQLITE_OK、SQLITE_ROW中的一个,那么sqlite3_reset()会将参数sqlite3_stmt返回到函数sqlite3_prepare_v2()运行之后的状态,也就是将SQL命令解析好了的状态(sqlite3_prepare_v2()是用来进行解析sqlite3_stmt到一个SQL结构体的操作),但是不会对绑定状态进行改变,在这里感觉这个函数一般情况下不会起作用,除非后面把sqlite3_prepare_v2()中的SQL命令修改了,但是这种情况好像发生的概率不是很大,以前的版本中,如果查询多条数据,sqlite3_reset()会在sqlite3_step()之后调用,现在已经不需要了,运行结束,sqlite3_reset()返回SQLite_OK。
2.如果之前执行了sqlite3_step(),并且发生了错误,那么跟上一条一样,只是结果会返回一个具体的错误码。
因此,在执行完具体的函数之后,如果后面还要继续使用,需要将其释放,执行sqlite3_finalize()。
0 0
- sqlite3_reset作用
- 作用
- 作用
- 作用
- __define_initcall 作用(subsys_initcall 作用)
- static作用const作用
- 作用域::的作用
- 作用域的作用
- IsPostBack作用
- encodeRedirectURL 作用?
- static 作用
- 数据结构作用
- xml作用
- ServletContextListener作用
- 作用域
- spring作用
- htmllabel作用
- serialVersionUID作用
- Boost.Interprocess使用手册翻译之八:分配器,容器和内存分配算法(Allocators, containers and memory allocation algorithms)
- 使用IIS服务器托管Apache服务器上的PHP程序
- Farkas引理
- Android应用程序中启动另一个应用程序
- mybatis动态查询之foreach,sql标签查询
- sqlite3_reset作用
- webview返回键问题
- server.xml之keepAliveTimeout与connectionTimeout
- 最大流介绍
- Java基础练习题 (1)语法基础
- PHP des 3des加解密
- pip 下载慢 超时
- 【GYM】101170H Hamiltonian Hypercube
- SPDK SRIOV VIRTIO