次の問題があります。Logcatの「Stores」テーブルにアクセスするたびに、次のエラーメッセージが表示されます。
10-24 15:09:06.955: E/SQLiteLog(20264): (1) no such table: Stores
しかし、データベースを削除してすべてのテーブルを再度作成すると、Logcatでの作成中にエラーは表示されません。テーブル「Categories」にアクセスしたり書き込んだりしようとすると、エラーは発生せず、「Stores」のみが発生します。後でsqlitestudioでSQLiteデータベースを参照すると、挿入した値を持つテーブルカテゴリのみが表示され、他には何も表示されません。「OpeningHours」も欠落していることがわかります。まだ作成されていないときにこれらのテーブルにアクセスしようとすることは可能ですか?
これが私の作成コードです。
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(context.getString(R.string.sql_create));
}
それがSQLコードです
<string name="sql_create">
CREATE TABLE IF NOT EXISTS `Categories` (
`idCategories` INTEGER NOT NULL ,
`name` TEXT,
PRIMARY KEY (`idCategories`) );
CREATE TABLE IF NOT EXISTS `Stores` (
`idStores` INTEGER NOT NULL ,
`name` TEXT NOT NULL ,
`locationAdress` TEXT ,
`locationLongitude` INTEGER ,
`locationLatitude` INTEGER ,
`category` INTEGER NOT NULL ,
`telephoneNumerber` TEXT ,
PRIMARY KEY (`idStores`) );
CREATE TABLE IF NOT EXISTS `OpeningHours` (
`idOpeningHours` INTEGER NOT NULL ,
`store` INTEGER NOT NULL ,
`day` INTEGER ,
`forenoon` TEXT ,
`afternoon` TEXT ,
PRIMARY KEY (`idOpeningHours`) );
</string>