【问题标题】:Android SQLite database not populatingAndroid SQLite 数据库未填充
【发布时间】:2011-06-15 00:35:09
【问题描述】:

我正在尝试创建一个 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 的表,而且我的字段无处可见!

如何修复它以使我的方法正确填充我的表?我的查询是否存在语法问题?

【问题讨论】:

  • logcat 是否显示任何错误消息?

标签: android sql sqlite crash


【解决方案1】:

这是非常微妙的,但错误在于您的创建表命令。此行不应有逗号:

+ "var2 TEXT,"

相反,它应该是:

+ "var2 TEXT"

因为它是您定义的最后一列。

【讨论】:

  • 您的语句末尾不需要分号。
猜你喜欢
  • 1970-01-01
  • 2023-03-11
  • 1970-01-01
  • 2017-11-09
  • 2011-01-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-03
相关资源
最近更新 更多