如何从sqlite3中获取数据而不使用while 1和if
How to fetch data from sqlite3 without using while 1 and if
我目前正在使用这种方法从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)){
...
}
或者,可能有一个取回方法或者类似的东西
我只是想知道其他人在现实世界的项目中是怎么做的。
这样的代码应该可以完成这项工作,但是一定要在退出循环后检查错误。
while((rc = sqlite3_step(stmt)) == SQLITE_ROW)
{
...
}
编辑:请注意,这并没有考虑到数据库是否繁忙,但您可以在循环后使用条件goto
或在rc
不等于SQLITE_DONE
时继续进行外部循环。
相关文章:
- Arduino:for/while/if在void setup()或void loop()之前?——错误:之前需要不合格
- do while 循环中的 if 语句以 yes 或 no 结尾
- 我的 if 语句打印在我的 while 循环中的每个 if 语句上,无论它是否为假
- 将while+if else转为更简单的std::remove_if
- While循环和if/else语句工作不正常
- 为什么当 while 循环中的 if 条件变为 false 时,我的函数不输出最后一条语句?
- C++带有 while 语句范围捕获的 if 语句中的错误
- while 循环和 if 和 else 语句
- 简化 if 流函数的 while 循环中的大量 while 循环
- C++ 递归 如何在while中使用if语句
- C++ do/while 循环和 if/else: 骰子游戏 -- 第 75 行错误:"Cout"之前的预期"While" -- 如何解决这个问题?
- 我的C++文件期望用'while'代替 if。最后,它预计会出现'('
- C++ While(1) 循环内部没有调用 if 语句
- C 用于IF-Statments和while-loops的短路
- C++创建一个类似于 while、if 或 for 的函数
- C++ if(cin>>input) 在 while 循环中无法正常工作
- "if"、"while"、'catch' 等之后的空格。使用叮当格式
- if 语句代替 while 循环
- 如何让程序在打印出 while/if 语句之前请求输入字符串"course"
- While & If 循环预期错误