2012-07-20 56 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查询..