0

このキーを使用するとエラーが発生しますが、LENGTH を使用すると問題なく動作します。Android sqlite cozで許可されることを願っています。これが最善の方法です:

データベースから選択される単語の後のスペースを削除しようとしています。

public ArrayList<String> getCorrectList() {
        // TODO Auto-generated method stub

        Cursor c = db.rawQuery("SELECT REPLACE(Level_1, ' ', '') FROM " + TABLE, null);

        ArrayList<String> resultsList = new ArrayList<String>();

        try {
            if (c != null) {
                if (c.moveToFirst()) {

                    do {
                        String levelData = c.getString(c
                                .getColumnIndex("Level_1"));

            resultsList.add("" + c.getColumnIndex("Level_1"));

                    } while (c.moveToNext());
                }
            }
        } catch (SQLiteException e) {

            Log.e("Database", "Cannot get List (" + e + ")");

        }

        Log.d("array", "List: " + resultsList);

        Collections.shuffle(resultsList);

        return resultsList;
    }
4

1 に答える 1

0

これは SQLite3 シェルで正常に動作します。

e$ sqlite3
SQLite version 3.7.14.1 2012-10-04 19:37:12
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> create table t(a,b,c);
sqlite> select replace(a,' ', '') from t;

REPLACESQLite3 では関数とコマンドの両方です。おそらくdb.rawQueryクエリを解析していて、 によって混乱していREPLACEます。これを試して:

db.rawQuery("select rtrim(replace(Level_1, ' ', '')) FROM " + TABLE, null);
于 2013-03-08T20:26:10.650 に答える