0

PREF_NAME、PREF_STATUS-テキスト

それは私にこのエラーを与えます:

07-02 14:08:07.457: E/AndroidRuntime(17295): android.database.sqlite.SQLiteException: near "?": syntax error: , while compiling: SELECT ? FROM ? WHERE ? = ?

私が使用しているコードは次のとおりです。

Cursor c = db.rawQuery("SELECT ? FROM ? WHERE ? = ?", new String[]{ PREF_STATUS,
   PREF_TABLE, PREF_NAME, assigned_pref_name });
4

3 に答える 3

3

ドキュメントによると、「?」しか入れられません where句について:

public Cursor rawQuery (String sql, String[] selectionArgs)

Parameters
sql the SQL query. The SQL string must not be ; terminated
selectionArgs   You may include ?s in where clause in the query, which will be replaced by the values from selectionArgs. The values will be bound as Strings.
于 2012-07-02T12:24:47.630 に答える
0

SELECTキーワードの後に​​は、?のようなものの代わりがあります*

于 2012-07-02T12:24:53.493 に答える
0

変数名ではなく文字列としてassigned_pref_nameを渡したいと思いますので:

   Cursor c = db.rawQuery(
              "SELECT ? FROM ? WHERE ? = ?",
                new String[]{
                PREF_STATUS,
                PREF_TABLE,
                PREF_NAME, 
                "assigned_pref_name" //as a string 
          });
于 2012-07-02T12:26:51.533 に答える