thanks ,Your suggestion solved my problem. in myself idea,sqlite3_exec("update statement") return the modified row count may be better because it's no need invoke sqlite3_changes(). why the author don't implement sqlite3_exec return affected row count?