Android & SQLite: “Аудио таблицы не имеют никакого столбца, названного загруженным”

Я получаю это странное исключение, когда я запускаю свое приложение и на эмуляторе и на подключенном устройстве USB. я вижу таблицу в оболочке, но когда я пытаюсь вставить запись от куртки Действия, я получаю это исключение:

android.database.sqlite. SQLiteException: аудио таблицы не имеют никакого столбца, названного загруженным

Я главным образом работаю на эмуляторе с Android 1.5. Преобладающая часть моего кода связана с этим учебным руководством - http://www.devx.com/wireless/Article/40842/1954.

Это - создать оператор, который я использую:

 private static final String DATABASE_CREATE =
  "create table audios ( _id integer primary key autoincrement, "
  + "user_name text not null, title text not null, file_path text not null, download integer not null, " 
  + "created_at integer not null, downloaded_at integer not null );";

Это - ввести код, который я использую:

//--- insert a title into the database ---
 public long insertTitle(String user_name, String title, String file_path, Integer downloaded, long created_at, String downloaded_at ) {
  ContentValues initialValues = new ContentValues();
  initialValues.put(KEY_USER_NAME, user_name);
  initialValues.put(KEY_TITLE, title);
  initialValues.put(KEY_FILE, file_path);
  initialValues.put(KEY_DOWNLOADED, downloaded);
  initialValues.put(KEY_CREATED_AT, created_at);
  initialValues.put(KEY_DOWNLOADED_AT, downloaded_at);
  return db.insert(DATABASE_TABLE, null, initialValues);
 }

1
задан Lasse Vågsæther Karlsen 6 May 2010 в 04:25
поделиться

1 ответ

Рискну предположить, что в вашем коде есть следующее:

public static final String KEY_DOWNLOADED = "downloaded";

Причина сообщения об ошибке в том, что ...

таблица аудио не имеет столбца с именем загружено

Действительно. Это не так, как говорится в сообщении об ошибке.

Если вы перечитаете свой SQL для создания таблиц, вы заметите, что имя столбца на самом деле download , а не download ed .

Итак, исправьте свой код, чтобы использовать правильное имя столбца, и вы должны быть настроены. Обратите внимание, что исправление кода может означать либо:

  1. изменение имени столбца в вашей таблице, чтобы оно было загружено , а не просто загружено .Лично я бы выбрал этот, если только у вас нет большого количества другого кода, уже использующего загрузить , поскольку загрузка , на мой взгляд, является либо загрузкой , либо для загрузки , а не был загружен , но это действительно зависит от его фактического значения
  2. изменение имени столбца в SQL, который обращается к таблице, чтобы использовать то же имя столбца, что и таблица
2
ответ дан 3 September 2019 в 00:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: