问题与Android的
问题描述:
更新SQLite表我想交换SQLite中的Android问题与Android的
public void updatePosition(int oldVal, int newVal){
ContentValues updatedValue1 = new ContentValues();
updatedValue1.putNull(ColName);
db.update(TABLE_NAME, updatedValue1, ColName + "==" + newVal, null);
ContentValues updatedValue2 = new ContentValues();
updatedValue2.put(ColName, newVal);
db.update(TABLE_NAME, updatedValue2, ColName + "==" + oldVal, null);
ContentValues updatedValue3 = new ContentValues();
updatedValue3.put(colName, oldVal);
db.update(TABLE_NAME, updatedValue2, colName + " IS NULL", null);
}
特定列两行的值如果我们假设OLDVAL = 10的newval = 20,那么就应该是这样的
1st update : put null where value is 20 -- Now colName has 10 and null
2nd update : put 20 where value is 10 -- Now colName has 20 and null
3rd update : put 10 where value is null -- now colName has 20 and 10
所以最终的答案应该是20和10,但它表明20和20
在我的逻辑失效,请帮帮我吗?
谢谢...
答
在上次更新中出现了一个愚蠢的错误。取而代之的是
updatedValue3.put(colName, oldVal);
db.update(TABLE_NAME, updatedValue2, colName + " IS NULL", null);
我应该写'在SQL这
updatedValue3.put(colName, oldVal);
db.update(TABLE_NAME, updatedValue3, colName + " IS NULL", null);
感谢上帝......
'==?有趣... – Selvin 2012-03-01 13:04:31
我用=代替它,但结果仍然相同 – 2012-03-01 13:06:51