0

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 获取成功信号,例如成功添加行或成功删除行等,并将值分配给布尔值或字符串

4

2 回答 2

1

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

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

if ( ! sqlite3_step( stmt ) ) cout << "it worked" << endl
于 2012-08-14T15:23:23.523 回答
1

你也可以做

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

这里有一些关于 sqlite3 常量的文档:结果代码

于 2012-08-14T15:25:18.743 回答