“我收到错误“没有这样的表”并导致我尽一切可能让它消失,现在它消失了,但我很困惑。这是我的情况
我有 2 个表需要在应用程序中创建。我在每张桌子上放了一个班级,它看起来像下面的代码。如果我遵循此操作,当我从“Table2”中提取数据时,它会显示“No such Table”,因此我需要将 DATABASE_NAME 更改为其他值 =“DB2”;那么“Table2”将成功创建并能够提取数据。
所以我的问题是这是确保成功创建 2 个表的正确方法吗?或者我不应该将表分成 2 个类?请指教
public class DB1 extends SQLiteOpenHelper {
// Database Version
private static final int DATABASE_VERSION = 1;
// Database Name
private static final String DATABASE_NAME = "DB";
// Labels table name
private static final String TABLE_STORE = "Table1";
// Labels Table Columns names
public static final String KEY_1 = "col1";
public RC_StoreTbl(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
// Creating Tables
@Override
public void onCreate(SQLiteDatabase db) {
// Category table create query
String CREATE_TABLE = "CREATE TABLE " + TABLE_STORE + "("
+KEY_1 + " INTEGER PRIMARY KEY)";
db.execSQL(CREATE_TABLE);
}
}
Run Code Online (Sandbox Code Playgroud)
另一堂课
public class DB2 extends SQLiteOpenHelper {
// Database Version
private static final int DATABASE_VERSION = 1;
// Database Name
private static final String DATABASE_NAME = "DB";
// Labels table name
private static final String TABLE_STORE = "Table2";
// Labels Table Columns names
public static final String KEY_1 = "col1";
public RC_StoreTbl(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
// Creating Tables
@Override
public void onCreate(SQLiteDatabase db) {
// Category table create query
String CREATE_TABLE = "CREATE TABLE " + TABLE_STORE + "("
+KEY_1 + " INTEGER PRIMARY KEY)";
db.execSQL(CREATE_TABLE);
}
}
Run Code Online (Sandbox Code Playgroud)
不,您应该将表放在一个数据库类中。只需确保每当您更改代码以修改表或添加/删除表时,您清除数据或卸载应用程序并再次运行。由于您添加或修改表,您很可能会收到“ No such Table ”错误,在这种情况下,在您清除数据或卸载应用程序之前,不会再次调用onCreate。
| 归档时间: |
|
| 查看次数: |
13266 次 |
| 最近记录: |