最近自己做一个android项目的开发 自任项目经理+程序员+客户+测试+!@#¥ 开发中遇到问题若干
在自己的blog上写上解决办法 防止以后忘记 也方便大家开发
今天使用sqlite中的query函数 查询数据库中的某个字段 用到了求和SUM 结果弹出这样的错误 百思不得其解
网上有关于XXX中是_id的解决办法 但是不是我的 参考之后发现是这样的
在dbadapter中使用query函数 函数是这样的
函数名为getdates()
return sqliteDatabase.query(true,DATABASE_TABLE, new String[] { KEY_ROWID, KEY_CATEGORY,
SUM_KEY_MONEY, KEY_CREATED,KEY_TIME }, null, null, KEY_CREATED, null, KEY_CREATED+" DESC",null);
红色部分出错 也就是我的XXX的地方是这个 这是个求和函数
定义部分为
public static final String SUM_KEY_MONEY = "sum(money)";
运行程序 说是money找不到这个列 奇怪了
后来找到使用这个结果的cursor
cursor = DbAdapter.getdates();
startManagingCursor(cursor);
String[] from = new String[]{CWJZDbAdapter.money,CWJZDbAdapter.created};
注意了 就是这个地方出问题了
后来将这个money改成
String[] from = new String[]{CWJZDbAdapter.SUM_KEY_MONEY,CWJZDbAdapter.created};
问题解决
如果在显示的里边用了money 那么在dbadapter中的query里一定要查出来 如果没有查出来 这个地方就识别不了
是这么个错误 搞定