Android SQLite-更新不工作,但db.Update返回1
好的,这是另一个谜题-所以基本上尝试更新记录-它失败了 但是db.update方法返回1表示成功 表SQL为:Android SQLite-更新不工作,但db.Update返回1,android,sqlite,Android,Sqlite,好的,这是另一个谜题-所以基本上尝试更新记录-它失败了 但是db.update方法返回1表示成功 表SQL为: public String getSQL() { return "CREATE TABLE IF NOT EXISTS transactions ( " + "transactionid INTEGER PRIMARY KEY AUTOINCREMENT, " + "accountid INTEGER, "+
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
似乎都不管用
任何帮助都将不胜感激你有没有想到这一点?我遇到了完全相同的问题。你解决了吗?