上一篇文章中,我们通过sqlite3_prepare_v2初始化sqlite3_stmt 数据(预编译)后,就可以通过sqlite3_step函数来执行。
返回值:
SQLITE_BUSY:当前数据库不能获取数据库锁,也就不能完成相应的操作,如果执行语句是 COMMIT 或者 发生在显式的事务之外,
我们可以重复尝试,而如果不是,则需要回退。
SQLITE_DONE:意味着sql语句执行完成,并且成功。一旦执行成功后,sqlite3_step()就不应该被再次调用执行,除非我们使用
sqlite3_reset()重置 sqlite3_stmt 数据。
SQLITE_ROW: 这个比较常用,当我们的sql语句是 读命令,比如"SELECT* FROM...",返回的数据必然是很多,而且是很多行,
重点,每次只返回一行,并且函数返回值为 SQLITE_ROW,所以我们也需要重复调用sqlite3_step函数,当所有参数
返回完成后,sqlite3_step返回 SQLITE_DONE.
SQLITE_ERR: 表示返回 run-time 错误。
SQLITE_MISUSE: 表示该函数实例被滥用,不合适,比如sqlite_stmt结构已经被销毁了。
我们在实际的使用过程中,SQLITE_DONE和SQLITE_ROW比较常用。