【问题标题】:Android = select column1 from table where column2 = column3 order by id descAndroid = select column1 from table where column2 = column3 order by id desc
【发布时间】:2021-03-03 06:29:25
【问题描述】:

如何解决这个问题

我正在尝试使用 id desc 从表中获取与车号相似的最后一米

如图

enter image description here

这是我的代码

 String CarN = carNumber.getText().toString();
                SQLiteDatabase dataBas = logDB.getReadableDatabase();
                int active = 0;
                String activeCar =String.valueOf(active);

                Cursor cursor = dataBas.rawQuery("select "+CarLoadingToSaveUtils.NEW_METER_READING +" from "+
                        CarLoadingToSaveUtils.TABLE_CAR_LOADING_SAVE +" where "+CarLoadingToSaveUtils.CAR_NUMBER_LATTER+" = "+ CarN + " order by "+
                        LogDB.KEY_ID +" desc ",new String[]{activeUser});

                if (cursor.moveToFirst()) {
                    int index6 = cursor.getColumnIndex(CarLoadingToSaveUtils.CAR_NUMBER_LATTER);
                    String Num = cursor.getString(index6);

                        oldMeteReading.setText(Num);
                } else {
                    oldMeteReading.setText("0");
                }

当我运行代码时出现此错误

android.database.sqlite.SQLiteException: near "1234": syntax error (code 1 SQLITE_ERROR1): ,编译时:从 carLoadingSave 中选择 newMeteReading where carNumber =? 1234 H order by id desc

【问题讨论】:

    标签: java android


    【解决方案1】:

    CarN 值 (? 1234 H) 需要在引号之间

    替换这个:
    CarLoadingToSaveUtils.TABLE_CAR_LOADING_SAVE +" where "+CarLoadingToSaveUtils.CAR_NUMBER_LATTER+" = "+ CarN +" order by "+

    作者:
    CarLoadingToSaveUtils.TABLE_CAR_LOADING_SAVE +" where "+CarLoadingToSaveUtils.CAR_NUMBER_LATTER+" = '"+ CarN + "' order by "+

    【讨论】:

    • 我收到此错误(java.lang.IllegalArgumentException:无法在索引 1 处绑定参数,因为索引超出范围。该语句有 0 个参数。)
    猜你喜欢
    • 2018-02-20
    • 2011-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多