首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >简单的android查询问题

简单的android查询问题
EN

Stack Overflow用户
提问于 2014-11-20 12:59:04
回答 4查看 79关注 0票数 0

我做了张像下面这样的桌子

栏:

代码语言:javascript
复制
KEY_ID(AUTOINCREMENT AND PRIMARY KEY),
KEY_DATE, 
KEY_ACCOUNT_NAME, 
KEY_CATEGORY, 
KEY_COST, 
KEY_EXPLANATION 

我想更新一个与KEY_ACCOUNT_NAME匹配的行

但它给了我错误..。

现在,表中有两行,其中KEY_ACCOUNT_NAME分别为AAABBB

下面的查询给出了如下所示的错误。

(ai.getAccount_name()是目标KEY_ACCOUNT_NAME值,即AAA。)

代码语言:javascript
复制
db.update(TABLE_AI, values, KEY_ACCOUNT_NAME + "=" + ai.getAccount_name(), null);

错误:

代码语言:javascript
复制
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更改为

还是与问题无关?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-11-20 12:59:42

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

代码语言:javascript
复制
db.update(TABLE_AI, values, KEY_ACCOUNT_NAME + "='" + ai.getAccount_name()+"'", null);
票数 1
EN

Stack Overflow用户

发布于 2014-11-20 13:17:42

代码语言:javascript
复制
db.update(TABLE_AI, values,KEY_ACCOUNT_NAME  + " = ?",
                new String[] {ai.getAccount_name()});

试试这个。

票数 3
EN

Stack Overflow用户

发布于 2014-11-20 13:16:16

请试试这段代码,

代码语言:javascript
复制
int i=db.update(TABLE_AI, values, KEY_ACCOUNT_NAME + " =? " , new String[] {ai.getAccount_name()});  

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

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27040240

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档