2012-06-06 105 views
-2

我一直在嘗試更新名爲COLUMN_NAME_PERIOD_END的數據庫中的列,但它似乎無法更新。無法更新SQLite上的特定列

String[] endDate = new String[1]; 
endDate[0] = paraPeriodDetailsPojoObj.getPeriodEndDate(); 

Log.d("PeriodEnd.onClick()", "Date: " + endDate[0]); 

/*UPDATE table_name 
SET column1=value, column2=value2,... 
WHERE some_column=some_value 
*/ 

sqliteDatabase.update(DBStorage.TABLE_NAME_PERIODSTART, contentValues, DBStorage.COLUMN_NAME_PERIOD_END+"=?", endDate); 

沒有顯示錯誤消息,所以我想這是我的更新語句有錯誤。 :(

+2

怎麼樣的錯誤檢查搜索的結束日期不匹配的記錄? – 2012-06-06 03:53:45

+1

可能是查詢不符合WHERE條件? (沒有記錄包含'endDate [0]') –

+0

如何嘗試'更新''遊標'? – GAMA

回答

0

從文檔:

update(String table, ContentValues values, String whereClause, String[] whereArgs) 

所以,你把的contentValues陣列(你不顯示,這樣的問題可能是有)到由TABLE_NAME_PERIODSTART定義的表,並選擇通過搜索其必須等於endDateCOLUMN_NAME_PERIOD_END定義的列要更新的記錄。

我看了你的問題的標題的方式我你真的想更新COLUMN_NAME_PERIOD_END柱與結束日期的印象是...如果是這樣的如果你的SQL不正確,

否則,某些可能性,飛躍的心態來看待的是:

1)約束...你有一個not null字段中定義的,你試圖用一個空更新?
2)從該計劃中的日期格式從一個不同的數據庫
3)是你在DB

+0

是的,我想用endDate更新我的column_name_period_end。我想要使​​用的查詢基本上只是「UPDATE period_startdate SET period_end_column ='29-06-2012';」但我不知道如何實現它到sqlitedatabase.update。 – Lene

+0

其中'29 -06-2012'基本上從endDate [0] – Lene

+0

中檢索到HI EVERYBODY!我已經解決了我自己的問題。謝謝大家的大力幫助:) – Lene