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 に答える