我有两个SQLiteOpenHelper
类:
public class SQLiteHelper1 extends SQLiteOpenHelper {
// Database Version
private static final int DATABASE_VERSION = 1;
// Database Name
private static final String DATABASE_NAME = PublicMacros.My_DB;
private static final String TABLE_NAME = "table1";
public class SQLiteHelper2 extends SQLiteOpenHelper {
// Database Version
private static final int DATABASE_VERSION = 1;
// Database Name
private static final String DATABASE_NAME = PublicMacros.My_DB;
private static final String TABLE_NAME = "table2";
当我使用SQLiteHelper1
后跟SQLiteHelper2
时,我收到错误消息:
no such table "table2"
如何从两个不同的SqliteHelper创建两个表?
答案 0 :(得分:1)
SQLiteOpenHelper
管理数据库文件。管理一个数据库文件的一个帮手。
如果您需要两个数据库帮助程序,则需要它们使用不同的数据库文件。
如果您只想在同一个数据库文件中使用两个表,请将它们放在同一个帮助程序中。这通常是理想的方式。
然后它变得太乱了
没有什么能阻止您干净地组织代码。例如,您仍然可以为不同的表使用单独的类。只是不要使它们SQLiteOpenHelper
,而是由每个数据库文件单SQLiteOpenHelper
调用的类。