在嵌入式系统上使用sqlite3_exec。我要求尽快完成写入,因此如果断电,则保存数据。但是我发现在完全写入数据之前机器必须打开~10秒!是否有设置尝试加快速度?
使用日记帐模式DELETE(" PRAGMA journal_mode = DELETE;)和同步模式FULL(" PRAGMA synchronous = FULL;")。
我已尝试发送" BEGIN;"和" COMMIT;"分别在UPDATE之前和之后。没有变化。
std::ostringstream oss;
std::ostringstream oss_err;
oss << "UPDATE " << sTableName << " SET " << pon_rstc_db[LookupParamIndex(param)].column_name << "='" << sValue << "';";
if (!isDatabaseOpen())
OpenDatabase(sDatabaseName);
if (isDatabaseOpen())
{
char* db_err = 0;
int rc;
rc = sqlite3_exec(myDatabase, oss.str().c_str(), NULL, 0, &db_err);
if (rc == SQLITE_OK)
{
bResponse = true;
}
else
{
oss_err << db_err;
oss_err << "Update failed for " << LookUpColumnName(param) << ". Data not saved.";
DisplayError(oss_err.str());
bResponse = false;
}
sqlite3_free(db_err);
db_err = 0;
}
else
{
DisplayError("executing statement while database closed");
}