0

我想在数据库表中搜索具有 int 值而不是字符串值的行,但是这样做时会出现错误。所以我希望我能做到这一点,但这是不可能的:

  updateRow(int titleCode, int questionCode, int inspectionResult){

所以相反,我坚持这一点,

  updateRow(String titleCode, String questionCode, int inspectionResult){

我怎样才能像这样使用选择参数;

 new String[]{titleCode, questionCode}

如果这些变量是整数/整数而不是字符串,则搜索 titleCode 和 questionCode?

因为我无法将选择 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});

         }
4

1 回答 1

1

https://www.sqlite.org/datatype3.html

根据第 3.3 节,包括相等性检查在内的比较受类型亲和性的影响。您可以在 SQLite 中将 int 值作为字符串安全地测试,因为数据库驱动程序会在比较之前将您的 String 自动转换为 int。

于 2013-07-05T05:43:48.677 回答