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