2012-07-20 92 views
0

我的應用程序保留股票代碼列表。最近我注意到,對於符號「LOW」(Lowe's corp),系統無法用最新值更新表格。我用以下行來更新表Android上的更新失敗聲明

int i = db.update(DATABASE_TABLE, args, KEY_sym +"=\"" + item.sz_sym +"\"", null) ; 

where DATABASE_TABLE = "Quote", KEY_sym = "symbol", item.sz_sym = "LOW" and args contains the new values. 

我知道肯定是由於符號很低,因爲它適用於所有其他符號。 我的問題是,這裏發生的符號LOW是什麼。以及我如何解決它。另外,是否可以查看生成的SQL語句?

回答

0

應該是這樣,

db.update(DATABASE_TABLE, args, KEY_sym+"=?", new String[]{item.sz_sym}); 
+0

所以,你的解決方案工作。但我的問題是我最初的方法有什麼問題? – prashant 2012-07-20 06:32:12

+0

那麼,你可以簡單地看到'update()'需要的參數,你在哪裏沒有傳遞確切的必需參數。 – 2012-07-20 06:35:39

+0

但是,它適用於其他符號,如MSFT,GOOG等。 – prashant 2012-07-20 13:56:54

0

,如果你不舒服與使用基於語法的SQL語句,你總是可以使用ExecSql執行一個簡單的SQL查詢..