1

私を助けてください。次のエラーが表示されます。

Caused by: android.database.sqlite.SQLiteException: near "values": syntax error: CREATE TABLE values (_id INTEGER PRIMARY KEY AUTOINCREMENT, name text, caption text, lines integer , photo_url text, type text);

これが私がdbテーブルを作成しようとしている方法です:

private static final String TABLE_VALUES_CREATE =
    "CREATE TABLE " + DATABASE_TABLE_VALUES +
           " (_id INTEGER PRIMARY KEY AUTOINCREMENT, "
          + ValueTemplate.KEY_NAME + " text, "
          + ValueTemplate.KEY_CAPTION + " text, "
          + ValueTemplate.KEY_LINES + " integer , "
          + ValueTemplate.KEY_PHOTOURL + " text, "
          + ValueTemplate.KEY_TYPE + " text);";

   //ValueTemplate class:
   // VALUE TEMPLATES

      public static final String KEY_CAPTION = "caption";
      public static final String KEY_NAME = "name";
      public static final String KEY_TYPE = "type";
      public static final String KEY_LINES = "lines";
      public static final String KEY_PHOTOURL = "photo_url";
4

3 に答える 3

4

(values) は予約済みの名前なので、テーブルの名前を変更してください。

于 2012-11-12T13:46:19.567 に答える
2

まったく同じテーブル名を維持することを主張する場合は、を試してください[values]。そうでない場合は、次のような名前に変更するのが最善です。tblValues

于 2012-11-12T13:56:54.403 に答える
2

テーブルの名前 ( values) は、SQLite で予約されているキーワードです。

キーワードのリストについては、こちらを参照してください: http://www.sqlite.org/lang_keywords.html

于 2012-11-12T13:46:08.923 に答える