我正在尝试创建一个SQLite数据库。创建方法:
private static class DatabaseHelper extends SQLiteOpenHelper {
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(CREATE_BASE_TABLE);
}
}
(构造函数和升级函数也在该私有类中实现)
正在调用SQL字符串:
static final String CREATE_BASE_TABLE ="create table if not exists tableData ("
+ "id INTEGER PRIMARY KEY,"
+ "name TEXT,"
+ "image TEXT,"
+ "var1 TEXT,"
+ "var2 TEXT,"
+ ");";
但execSQL
返回success=false
,正如调试器和断点所示。
在文件资源管理器中,我看到在数据库文件夹中创建了data
。我在本地计算机上打开该文件,只看到一个名为android_metadata
而不是tableData
的表格,我的字段无处可见!
如何修复它以使我的方法正确填充我的表格?我的查询是否存在语法问题?
答案 0 :(得分:1)
它非常微妙但错误在你的create table命令中。这行不应该有逗号:
+ "var2 TEXT,"
相反,它应该只是:
+ "var2 TEXT"
因为它是您定义的最后一列。