我嘗試使用下面的代碼從我的C程序中的SQLite數據庫上更新4列:SQLite3:更新無法正常工作?
const char* update = {
"UPDATE mytable SET "
"mycolumn1"
"=?,"
"mycolumn2"
"=?,"
"mycolumn3"
"=?,"
"mycolumn4"
"=? WHERE(id=1);"
};
extern sqlite3 *sqdb;
sqlite3_stmt *stmt;
int val[2]={1, 2};
sqlite3_prepare_v2(sqdb, update, -1, &stmt, 0);
sqlite3_bind_int(stmt, val[0], 1);
sqlite3_bind_text16(stmt, 2, L"example1", -1, SQLITE_STATIC);
sqlite3_bind_text16(stmt, 3, L"example2", -1, SQLITE_STATIC);
sqlite3_bind_int(stmt, val[1], 4);
sqlite3_step(stmt);
sqlite3_finalize(stmt);
,成功地做了更新,但只有2個文本列(列2 & 3)被更新其他2個int列沒有更新,它們包含一個空值,我測試了在導出數據庫以供shell使用後使用SQLite命令shell。
有什麼不對?以及如何解決這個問題?
好吧,它現在有效。非常感謝。 – user3457200