我创建了数据库.但它给了我"没有这样的列错误".我确定我的数据库有这个coloumn,因为我使用SQLite Manager来添加数据.我不明白为什么我会收到这样的错误.我在这里搜索了这个问题,但答案从未帮助过我.
大多数答案都说如果在编写此代码时列名之间没有空格,则会出现此错误.但我认为我写得正确.
public void onCreate(SQLiteDatabase sqLiteDatabase) {
sqLiteDatabase.execSQL(
"CREATE TABLE " + TABLE_NAME + " ("
+ BNUM_COL + " TEXT, "
+ PNAME_COL + " TEXT, "
+ AUTHOR_COL + " TEXT, "
+ TYPE_COL + " TEXT, "
+ PYEAR_COL + "INTEGER );");
}
Run Code Online (Sandbox Code Playgroud)
我的Logcat也告诉我:
Cursor c = db.query("btable", SELECT, null, null, null, null, null, null);
Run Code Online (Sandbox Code Playgroud)
请帮我.
Ted*_*opp 13
最后一个字段在列名和关键字之间没有空格INTEGER.您需要更改此行:
+ PYEAR_COL + "INTEGER );");
Run Code Online (Sandbox Code Playgroud)
对此:
+ PYEAR_COL + " INTEGER );");
^
|
Note the extra space!
Run Code Online (Sandbox Code Playgroud)
帮助跟踪这些错误的简单诊断工具是将SQL查询存储在变量中,并在尝试执行之前将其记录下来.然后,您可以检查logcat输出以查看实际构建的语句.
| 归档时间: |
|
| 查看次数: |
10493 次 |
| 最近记录: |