【问题标题】:Android SQLLite, Syntax error when trying to get data from databaseAndroid SQLite,尝试从数据库获取数据时出现语法错误
【发布时间】:2014-11-20 02:44:46
【问题描述】:

我有这个

11-19 19:16:38.920:E/SQLiteLog(5568):(1) 靠近“SELECT”:语法 错误

android 选择查询出错,然后我的应用程序崩溃,我无法理解为什么会发生。

String selectQuery = "SELECT  * FROM " + MySQLiteHelper.TABLE_CATEGORIA;
            Log.e("DB", "select query "+selectQuery);
            SQLiteDatabase db = dbHelper.getReadableDatabase();
            Log.e("DB", "db "+db);
            Cursor c = db.rawQuery(selectQuery, null);
            if (c.moveToFirst()) {
                do {
                    if(c.getString(c.getColumnIndex(MySQLiteHelper.COLUMN_NOMECATEGORIA)).equalsIgnoreCase(name)){
                        id=c.getInt(c.getColumnIndex(MySQLiteHelper.COLUMN_ID));
                        color=c.getFloat(c.getColumnIndex(MySQLiteHelper.COLUMN_COLORE));
                        return color;
                    }
                    coloriusati.add(c.getFloat(c.getColumnIndex(MySQLiteHelper.COLUMN_COLORE)));
                } while (c.moveToNext());
            }

【问题讨论】:

  • 您在 logcat 中看到的崩溃是什么?

标签: android sqlite select


【解决方案1】:

您的 SELECT 命令后面有双空格。

String selectQuery = "SELECT  * FROM " + MySQLiteHelper.TABLE_CATEGORIA;

删除 'SELECT' 之后的多余空格,它应该可以工作。

String selectQuery = "SELECT * FROM " + MySQLiteHelper.TABLE_CATEGORIA;

【讨论】:

  • 双正则空格不会导致错误。如果第一个空格是例如一个不间断的空间,这将解释 OP 的问题以及为什么会解决它。
猜你喜欢
  • 2012-03-01
  • 1970-01-01
  • 2013-04-17
  • 2020-09-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-03
  • 1970-01-01
  • 2021-11-20
相关资源
最近更新 更多