我想在数据库表中搜索具有int值的行,而不是字符串值,但是当这样做时,我得到一个错误。所以我希望我能做到这一点,但这是不可能的:
updateRow(int titleCode, int questionCode, int inspectionResult){
所以我坚持这个,
updateRow(String titleCode, String questionCode, int inspectionResult){
我如何使用这样的选择参数;
new String[]{titleCode, questionCode}
如果这些变量是int / integer而不是字符串,那么搜索titleCode和questionCode? p>
因为我无法将选择args数组从String类型更改为int类型但我想在数据库表中搜索int值
public void updateRow(String titleCode, String questionCode, int inspectionResult){
ContentValues contentValues = new ContentValues();
String selection = "INSPECTION_PLACE_CODE = ? AND INSPECTION_ITEM_CODE = ?";
contentValues.put(INSPECTION_RESULT_JUDGEMENT, inspectionResult);
sqLiteDatabase.update(DETAILS_TRAN_SMALL_INSPECTION_RESULTS, contentValues, selection,
new String[]{titleCode, questionCode});
}
答案 0 :(得分:1)
https://www.sqlite.org/datatype3.html
根据第3.3节,比较(包括等式检查)受类型亲和性的影响。您可以安全地在SQLite中将int值作为字符串进行测试,因为数据库驱动程序会在比较之前将String自动转换为int。