我目前正在使用这种从sqlite3
数据库中获取数据的方法:
while(1){
rc = sqlite3_step(stmt);
if(rc == SQLITE_ROW){
...
}
else if(rc == SQLITE_DONE){
break;
}
}
我不喜欢这个是if else
构造,在这里看起来相当笨拙。此外,每个人都知道if else
是邪恶的。因此,可能还有另一种从sqlite
获取数据的方法,例如:
while(sqlite3_step(stmt)){
...
}
或者,可能有一种获取方法或类似的东西。
我只是想知道其他人在现实世界的项目中做了什么。
答案 0 :(得分:1)
这样的事情应该可以胜任,但是一定要在退出循环后检查错误。
while((rc = sqlite3_step(stmt)) == SQLITE_ROW)
{
...
}
编辑:请注意,这并不能说明数据库是否繁忙,但您可以在循环后使用条件goto
或在{{1}时继续使用外部循环来解决此问题。它不等于rc
。