C++的SQLite3如何知道是否选择返回0行C++的SQLite3如何知道是否选择返回0行
我有sqlite3的select语句,我怎么知道,如果执行SQL语句后,结果是0行,找不到匹配等。
我该如何修改我的代码,以便如果找到0行,它将不会执行将结果放入向量中的部分。
我下面的代码:
sqlstatement = "SELECT * from abe_account where department="+quotesql(department)+" AND name="+quotesql(name)+";";
std::vector< std::vector < std:: string > > result;
for(int i = 0; i < 4; i++)
result.push_back(std::vector<std::string>());
sqlite3_prepare(db, sqlstatement.c_str() , -1, &stmt2, NULL);//preparing the statement
sqlite3_step(stmt2);//executing the statement
while(sqlite3_column_text(stmt2, 0))
{
for(int i = 0; i < 4; i++)
result[i].push_back(std::string((char *)sqlite3_column_text(stmt2, i)));
sqlite3_step(stmt2);
counter ++;
}
只需检查'sqlite3_step'的返回码...和RTFM。 – 2012-08-14 16:09:36
我在找什么返回代码?我知道101成功执行 – 2012-08-14 16:13:02
你指的是“SQLITE_EMPTY” – 2012-08-14 16:13:46