我想用变量替换字母M
。一旦由共享首选项创建和管理,我输入代码的相关部分,用'M'
替换"+ turno_1 +"
,但即使变量被识别(我可以从日志中看到),我创建了一个致命错误。
Cursor mcursor = dataBase.rawQuery("SELECT COUNT(turno) AS mutua FROM "+DbHelper.TURNI+" WHERE MESE = 'Gennaio'and TURNO = 'M' ", null);
如果我把
Cursor mcursor = dataBase.rawQuery("SELECT COUNT(turno) AS mutua FROM "+DbHelper.TURNI+" WHERE MESE = 'Gennaio'and TURNO = "+turno_1+"", null);
答案 0 :(得分:0)
turno_1
没有嵌入引号字符。要么添加引号字符,要么使用参数" WHERE MESE = 'Gennaio' and TURNO = ?"
,然后在下一个参数(现在有turno_1
)的String
数组args中提供null
: new String[]{ turno_1 }
。
完整示例:
Cursor mcursor = dataBase.rawQuery("SELECT COUNT(turno) AS mutua FROM "+DbHelper.TURNI+" WHERE MESE = 'Gennaio' and TURNO = ?", new String[]{ turno_1 });