以下は私がtest2.cppで試したコードです
データベースを確認したところ、新しいレコードが追加されていないことがわかりました。私の声明で実際に何が悪かったのですか?
#include <iostream>
#include <sqlite3.h>
//g++ -o test2 test2.cpp -lsqlite3
using namespace std;
int main()
{
int counter = 0;
sqlite3 *db;
sqlite3_stmt * stmt;
string username = "panda";
string name = "Kungfu Panda";
string department = "normal";
string password = "hellopassword";
string sqlstatement = "INSERT INTO abe_account (" + username + "," + name + "," + department + "," + 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_close(db);
return 0;
}
ステートメントが正常に実行されたかどうかを知ることができるかどうかを尋ねたいと思います。追加された1つの行のように、sqlite3からの何らかの形式の確認。そして、エラーが発生した場合、それもカウトアウトすることができますか?