我做了张像下面这样的桌子
栏:
KEY_ID(AUTOINCREMENT AND PRIMARY KEY),
KEY_DATE,
KEY_ACCOUNT_NAME,
KEY_CATEGORY,
KEY_COST,
KEY_EXPLANATION 我想更新一个与KEY_ACCOUNT_NAME匹配的行
但它给了我错误..。
现在,表中有两行,其中KEY_ACCOUNT_NAME分别为AAA、BBB。
下面的查询给出了如下所示的错误。
(ai.getAccount_name()是目标KEY_ACCOUNT_NAME值,即AAA。)
db.update(TABLE_AI, values, KEY_ACCOUNT_NAME + "=" + ai.getAccount_name(), null);错误:
11-20 11:55:26.258: E/AndroidRuntime(1738): android.database.sqlite.SQLiteException: no such column: AAA (code 1): , while compiling: SELECT * FROM accountInfoTable WHERE account_name = AAA我是否应该将主键从KEY_ACCOUNT_NAME KEY_ID更改为
还是与问题无关?
发布于 2014-11-20 12:59:42
尝试将此字符串值传递给'
db.update(TABLE_AI, values, KEY_ACCOUNT_NAME + "='" + ai.getAccount_name()+"'", null);发布于 2014-11-20 13:17:42
db.update(TABLE_AI, values,KEY_ACCOUNT_NAME + " = ?",
new String[] {ai.getAccount_name()});试试这个。
发布于 2014-11-20 13:16:16
请试试这段代码,
int i=db.update(TABLE_AI, values, KEY_ACCOUNT_NAME + " =? " , new String[] {ai.getAccount_name()});
System.out.println("i="+i);如果i>0,那么有些更新,否则没有行更新。
https://stackoverflow.com/questions/27040240
复制相似问题