我一直在修改Android的Notepad tutorial非常巧妙 - 我所做的就是将列从title
重命名为name
:
在:
public static final String KEY_TITLE = "title";
...
private static final String DATABASE_CREATE =
"create table notes (_id integer primary key autoincrement, "
+ "title text not null, body text not null);";
后:
public static final String KEY_TITLE = "name";
...
private static final String DATABASE_CREATE =
"create table notes (_id integer primary key autoincrement, "
+ "name text not null, body text not null);";
然而,它总是导致:
06-10 03:29:38.421: ERROR/AndroidRuntime(344): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.android.demo.notepad1/com.android.demo.notepad1.Notepadv1}:
android.database.sqlite.SQLiteException: no such column: name: , while compiling: SELECT _id, name, body FROM notes
...
06-10 03:29:38.421: ERROR/AndroidRuntime(344): Caused by: android.database.sqlite.SQLiteException:
no such column: name: , while compiling: SELECT _id, name, body FROM notes
我没有重命名吗?我正在修改的是Notepad教程中的练习1解决方案程序。
答案 0 :(得分:0)
您是否完全确定正在重新创建数据库?
我认为卸载应用程序会删除数据库。
尝试跑步:
adb uninstall com.android.demo.notepad1
然后再次运行您的应用程序。
答案 1 :(得分:0)
name可以是保留字...在查询中尝试[name],或尝试使用其他名称,例如name1(仅用于测试,看看是否是原因)。