db.update 改为 db.insert

db.update does db.insert instead

有人知道为什么这段代码执行插入而不是更新吗?它不会失败,它只是插入。从而提升数据库。

 String[] cur_row = {String.valueOf(cursor.getPosition())};
 values.put("colA", dataA);
 values.put("colB", dataB);
 values.put("colC", dataC);

 db.beginTransaction();
 try{
    db.update("tbl2", values, "_id=?", cur_row);
    db.setTransactionSuccessful();
 }catch(Exception e){
     System.out.println("FAIL: " + e);
 }
 finally{
     db.endTransaction();
 }

非常感谢

cur_row 从它在 SCA 上分配到发生更新之间不同步。 values.put("colA", dataA) 是从自动完成文本视图提供的。当我发布这个问题时,我认为这并不重要。对于 whereArgs,对于更新,我使用了 SCA 选定项的 .getItemId(position),然后将其分配给一个变量以传递给 whereArgs。感谢发贴的人。