好的,这是另一个难题 - 所以基本上尝试更新记录 - 它失败了
然而db.update方法确实返回1表示成功。
表SQL是:
public String getSQL() {
return "CREATE TABLE IF NOT EXISTS transactions ( " +
"transactionid INTEGER PRIMARY KEY AUTOINCREMENT, " +
"accountid INTEGER, "+
"amount REAL, " +
"transactiontype INTEGER, " +
"checknumber TEXT, " +
"checkdate TEXT, " +
"cleared INTEGER," +
"notes TEXT," +
"categoryid INTEGER)";
}
使用以下方式提供更新的值。我确保记录确实存在。
dbh.updateRecord(values, "transactions", "transactionid", Integer.toString(selTrans.getTransactionID()) );
其中updateRecord方法定义为:
public void updateRecord(ContentValues values, String tableName, String pkName, String pkValue) {
SQLiteDatabase db=null;
try {
db = this.getWritableDatabase();
int ret = db.update(tableName, values,pkName + " =?", new String[] {pkValue} );
Log.v("jv", "Update Record is : " + ret);
} catch(Exception e) { Log.v("jv", "Updating Record: " + e.toString()); }
}
打印更新记录为:1 =>表示更新操作成功。
但是当检索到交易价值时=>没有反映新值,表示没有更新。
我试过以下事情:
-1使用SQL格式 -2将String.valueOf用于PKValue -3使用beingTransaction / transactioNSuccessful / endTransaction
似乎无效。
任何帮助将不胜感激