首页 > 解决方案 > Android = select column1 from table where column2 = column3 order by id desc

问题描述

如何解决这个问题呢

我正在尝试从表中获取最后一米,这是使用 id desc 的类似车号

如图所示

在此处输入图像描述

这是我的代码

 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_ERROR 1 ): ,编译时:从 carLoadingSave 中选择 newMeteReading where carNumber =? 1234 H order by id desc

标签: javaandroid

解决方案


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

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

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


推荐阅读