2012-08-29 53 views
1
Cursor cursor = sqliteDatabase.rawQuery("update " 
      + DbMetaData.CART_TABLE_NAME + " set " + DbMetaData.PRODUCT_NUM 
      + "=" + DbMetaData.PRODUCT_NUM + "+" + num + " where " 
      + DbMetaData.ID + "=?", new String[]{id}); 

cursor.getCount()總是返回0;那麼如何判斷我更新成功?如何判斷android rawQuery更新成功?

+0

你可以發佈整個功能嗎? –

回答

3

rawQuery優選用於執行SELECT操作。它不會讓你知道改變的行數。

您應該使用sqliteDatabase.update來執行更新操作並獲得受影響的行數。

+0

我發現rawQuery必須執行cursor.xxxx()。如果不在rawQuery之後調用任何遊標方法,rawQuery將不起作用 – asfman

+0

是的,rawQuery返回Cursor,遊標用於讀取查詢返回的數據,實際上只有在執行SELECT操作時纔會返回數據行。所以,簡而言之,rawQuery適用於SELECT操作:) – waqaslam

相關問題