C ++ sqlite3如何知道sql语句执行成功?

时间:2012-08-14 15:21:24

标签: c++ sqlite

C ++ sqlite3如何知道sql语句执行成功?

我正在尝试使用sqlite3

插入记录

我想知道如何知道它是否成功

string sqlstatement = "INSERT INTO abe_account (name,department,password) VALUES ("
+quotesql(name) + ","
+quotesql(department) + ","
+quotesql(password) + ");";

   if (sqlite3_open("abeserver.db", &db) == SQLITE_OK)
    {
    sqlite3_prepare( db, sqlstatement.c_str(), -1, &stmt, NULL );//preparing the statement
    sqlite3_step( stmt );//executing the statement
        }
    else
    {
        cout << "Failed to open db\n";
    }

    sqlite3_finalize(stmt);

我们如何从sqlite3获取成功信号,例如成功添加行或成功删除行等并将值赋给布尔值或字符串

2 个答案:

答案 0 :(得分:1)

sqlite3_step()有一个整数形式的返回值。代码0表示语句的成功执行。您可以找到其余代码here

  

我们如何将该值分配给变量

if ( ! sqlite3_step( stmt ) ) cout << "it worked" << endl

答案 1 :(得分:1)

您也可以

if(sqlite3_step(stmt)!=SQLITE_DONE)
{
  error handling here
}

这里有一些关于sqlite3常量的文档:Result Codes