简单的android SQL查询问题

时间:2014-11-20 12:59:04

标签: android sqlite

我制作了如下表格

列:

KEY_ID(AUTOINCREMENT AND PRIMARY KEY),
KEY_DATE, 
KEY_ACCOUNT_NAME, 
KEY_CATEGORY, 
KEY_COST, 
KEY_EXPLANATION 

我想更新与 KEY_ACCOUNT_NAME

匹配的行

但它给了我错误..

现在我在表格中有两行 AAA BBB ,每行 KEY_ACCOUNT_NAME

以下查询给出了如下错误。

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_ID 更改为 KEY_ACCOUNT_NAME 吗?

或者与问题无关?

4 个答案:

答案 0 :(得分:3)

db.update(TABLE_AI, values,KEY_ACCOUNT_NAME  + " = ?",
                new String[] {ai.getAccount_name()});

试试这个。

答案 1 :(得分:1)

尝试将此字符串值传递给'

db.update(TABLE_AI, values, KEY_ACCOUNT_NAME + "='" + ai.getAccount_name()+"'", null);

答案 2 :(得分:1)

请尝试使用此代码,

int i=db.update(TABLE_AI, values, KEY_ACCOUNT_NAME + " =? " , new String[] {ai.getAccount_name()});  

System.out.println("i="+i);

如果i> 0,那么一些更新,否则没有行更新。

答案 3 :(得分:0)

感谢您的帮助。没有你的帮助,我无法解决这个问题。

我更改了代码,将''添加到值。

db.update(TABLE_AI, values, KEY_ACCOUNT_NAME + " = " + name, null);

db.update(TABLE_AI, values, KEY_ACCOUNT_NAME + " = '" + name+"'", null);

我应该尽早向你表示感谢,但我在DBAdapter.java中遇到了类似的问题,所以我很忙于修复它。

其他答案也可以正常使用

db.update(TABLE_AI, values,KEY_ACCOUNT_NAME  + " = ?",
            new String[] {ai.getAccount_name()});