【发布时间】:2021-10-11 19:53:36
【问题描述】:
我需要自定义列表中的项目。为此,我添加了一个额外的列并按其排序:
public Cursor getAllItems(){
qry = "SELECT id,details,type,
(replace(replace(replace(replace(Type,'Day','1Day'),'MONTHLY','2MONTHLY'),
'EBUDGET','4BUDGET'),'CARD','3CARD')) as list1" +
" from items_TB order by substr(list1,1,4), details";
c2 = db.rawQuery(qry, null);
return c2;
}
这很好用,可以编译和安装,但也会产生错误:
')', , SELECT, VALUES 或 WITH 预期,得到“替换”。
注意这个函数之前的 80 行我有一个非常相似的查询(不同的表),没有错误警告:
public Cursor getRecordsMonth(String month,String q) {
if(q.equals("partial")){
qry="Select id, DATE, Amount, (replace(replace(replace(replace(Type,'Day-',''),'MONTHLY-
',''),'EBUDGET',''),'CREDIT -','')) || ' • ' || DETAILS,Type "+
" from records_TB where date like '%"+month+"' order by Type desc";
}
c1 = db.rawQuery(qry, null);
return c1;
}
有什么建议吗?
【问题讨论】:
-
在构建
qry字符串之后和在rawQuery中使用它之前记录它很有用,因为通常在构建字符串后更容易看到问题,通常是缺少/多余的空格、逗号、括号