我需要在一个 Android 项目中存储一些与课时相关的数据。在查看了我的选项后,我认为 SQL 数据库将是一个不错的选择。不幸的是,我似乎无法让我的声明真正打开数据库。我的开放数据库语句字符串如下所示:
"create table "+ DATABASE_PERIOD+" (_id integer primary key autoincrement,"
+KEY_CLASSTITLE+" text not null, "+KEY_PERIOD+" text not null,
"+KEY_XPERIODS+" text not null, "+KEY_DOUBLEPERIODS+" text not null);
我基于 Android 网站上的记事本项目。我只是添加了几个字段,但无法打开数据库。如果你们想要错误消息或其他类型的信息,我会尽力为您获取(这是我第一次使用 SQL,所以我真的不知道需要什么来解决这个问题)。提前致谢!
我收到的错误消息是这样的:
android.database.sqlite.SQLiteException: no such table: periodData: , while
compiling: SELECT DISTINCT _id, title, period, xPeriods, doublePeriods FROM
periodData WHERE _id = -1
正如那里所说,我正在使用 SQLite。
我将一些数据放入数据库助手类的表中的代码:
ContentValues initialValues = new ContentValues();
initialValues.put(KEY_CLASSTITLE, title);
initialValues.put(KEY_PERIOD, period);
initialValues.put(KEY_XPERIODS, xPeriods);
initialValues.put(KEY_DOUBLEPERIODS, doublePeriods);
return mDb.insert(DATABASE_PERIOD, null, initialValues);
我开始使用私有静态字符串来确保我的调用不正确(感谢 Barak 的发现!)