我需要用3個表創建一個數據庫SQLite數據庫和我做這個象下面這樣:Android的 - 如何創建具有表
public class DatabaseUtils extends SQLiteOpenHelper {
private final Context myContext;
private SQLiteDatabase DataBase;
// Database creation sql statement
private static final String CREATE_TABLE_CS = "create table "+ TABLE_CS + "(" + COLUMN_CS + " TEXT NOT NULL, " + COLUMN_CE_CID + " INTEGER NOT NULL, "+ COLUMN_CE_PID +" INTEGER NOT NULL);";
private static final String CREATE_TABLE_SS = "create table "+ TABLE_SS + "(" + COLUMN_SS + " TEXT NOT NULL, " + COLUMN_SUB_CID + " INTEGER NOT NULL, "+ COLUMN_SUB_PID +" INTEGER NOT NULL);";
private static final String CREATE_TABLE_AS = "create table "+ TABLE_AS + "(" + COLUMN_AS + " TEXT NOT NULL, " + COLUMN_CID + " INTEGER NOT NULL, "+ COLUMN_AID +" INTEGER NOT NULL);";
public DatabaseUtils(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
DATABASE_PATH = Environment.getDataDirectory().getAbsolutePath() + "/" +"data/"+ context.getResources().getString(R.string.app_package);
this.myContext = context;
}
@Override
public void onCreate(SQLiteDatabase database) {
database.execSQL(CREATE_TABLE_CS);
database.execSQL(CREATE_TABLE_SS);
database.execSQL(CREATE_TABLE_AS);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
Log.w(DatabaseUtils.class.getName(),"Upgrading database from version " + oldVersion + " to "+ newVersion + ", which will destroy all old data");
//db.execSQL("DROP TABLE IF EXISTS " + TABLE_COMMENTS);
onCreate(db);
}
}
,並在我的活動我打電話如下DatabaseUtils
類onCreate
:
DatabaseUtils db = new DatabaseUtils(this);
但數據庫不是用3個表創建的。我究竟做錯了什麼?順便說一句,我有正確的所有字符串值。請幫助我如何創建數據庫。
?將其設置爲更高的值,因爲如果值改變,我只能在'onCreate'中創建新表 - 也許你已經在之前執行過類(沒有表)。 編輯:你也應該在調用super之前定義你的'DATABASE_PATH' - 因爲你應該在那裏傳遞這個數據庫的名字(或者/和路徑)。 – 2013-05-03 06:37:56