Android 如何在select count中插入变量
我想用变量替换字母Android 如何在select count中插入变量,android,select,Android,Select,我想用变量替换字母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 = data
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);
turno_1
中没有嵌入引号字符。添加引号字符,或使用参数“WHERE MESE='Gennaio'and TURNO=?”
,然后在下一个参数的String
args数组中提供TURNO\u 1
(现在有null
):新字符串[]{TURNO\u 1}
完整示例:
Cursor mcursor = dataBase.rawQuery("SELECT COUNT(turno) AS mutua FROM "+DbHelper.TURNI+" WHERE MESE = 'Gennaio' and TURNO = ?", new String[]{ turno_1 });
感谢您回复我,但它仍然不起作用,致命异常:main java.lang.RuntimeException:无法恢复活动{turni.db.tab/com.turniDB.turniDB}:java.lang.RuntimeException:无法恢复活动{turni.db.tab/mesi.Gennaio}:java.lang.NumberFormatException:无效int:“Mutua”在我的代码中,我尝试在共享首选项中输入一个数值,例如8,而不是Mutual,所以它都可以工作,为什么要接受数值而不是信件