【发布时间】:2010-05-06 03:47:21
【问题描述】:
当我在模拟器和 USB 连接设备上运行我的应用程序时,我得到了这个奇怪的异常。我可以在 shell 中看到表格,但是当我尝试从 Activity 操作插入记录时,我得到了这个异常:
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);
}
【问题讨论】:
-
请不要删除 StackOverflow 上的问题,除非它们是错误的或类似的。这是一个完全有效的问题。但是,如果您仍然希望将其删除,并且自己没有删除操作(如果您从一开始就没有针对自己的问题,我不知道它会出现在哪个代表处),请在此处留下另一条评论有人可能会为你做这件事。
-
是的,这是一个彻底的错误,应该保留。当您发布您的答案时,我从另一个地方得到它,并且感觉很糟糕并且不想让人们花时间在它上面。我的愚蠢举动。 :-(它应该作为你看不到森林的树木的那些日子的纪念碑。:-)
-
另外,下次其他人有类似的错误消息并搜索它时,他们会找到您的问题,并在此处发布答案,并会像您一样拍他们的额头。因此,即使答案对您没有帮助,因为您在我在这里发布之前自己发现了它,它可能会使其他在类似屏幕上盯着屏幕上的洞太久的人受益。我自己也有,你看看你刚刚知道正确的代码,但仍然给出错误,直到有人指出“呃,你为什么在这里使用错误的变量?”。