C++ sqlite3 如何知道 SQL 语句是否成功执行

C++ sqlite3 how to know that an sql statement execute successfully?

本文关键字:是否 成功 执行 语句 SQL sqlite3 何知道 C++      更新时间:2023-10-16

>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 dbn";
    }
    sqlite3_finalize(stmt);

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

你也可以做

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

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

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

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

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