gpt4 book ai didi

android - SQLite数据库android创建表

转载 作者:太空宇宙 更新时间:2023-11-03 12:58:27 25 4
gpt4 key购买 nike

“我收到错误“No Such Table”并导致我尝试一切可能让它消失,现在它消失了,但我很困惑。这是我的情况

我有 2 个表需要在应用程序中创建。我在每张 table 上放了一个类(class),它看起来像下面的代码。如果我遵循这个,当我从“Table2”中提取数据时,它会用“No Such Table”打我,所以我需要将 DATABASE_NAME 更改为其他值 =“DB2”;然后“Table2”将创建成功并能够提取数据。

所以我的问题是,这是确保成功创建 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);
}
}

另一个类

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);
}
}

最佳答案

不,您应该将表放在一个数据库类中。只要确保每当您更改代码以修改表格或添加/删除表格时,您就会清除数据或卸载您的应用程序并再次运行。您很可能会收到“No Such Table”错误,因为您添加或修改了一个表,在这种情况下,onCreate 不会被再次调用,直到您清除数据或卸载您的应用程序。

关于android - SQLite数据库android创建表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15424382/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com