我試圖在sqlite中的一個數據庫中創建兩個表,但只創建第一個表(sharelist)並且未創建第二個表(usedlist)。如何在一個數據庫中創建兩個表
請幫我...
公共類createSqliteHelper擴展SQLiteOpenHelper {
private DatabaseHelper DBHelper;
public static final String KEY_ROWID = "sy_id";
public static final String KEY_TITLE = "symbol";
public static final String KEY_POSITION = "position";
private static final String TAG = "createSqliteHelper";
private static final String DATABASE_NAME="tradely.db";
private static final String DATABASE_TABLE = "sharelist";
private static final String DATABASE_TABLE1 = "usedlist";
private static final int SCHEMA_VERSION=1;
private DatabaseHelper DBHelper;
private SQLiteDatabase db;
private static final String DATABASE_CREATE=("CREATE TABLE IF NOT EXISTS sharelist (_id INTEGER PRIMARY KEY AUTOINCREMENT, category TEXT);");
private static final String DATABASE_CREATE1=("CREATE TABLE IF NOT EXISTS usedlist(sy_id INTEGER PRIMARY KEY AUTOINCREMENT, symbol TEXT, position INTEGER, FOREIGN KEY (symbol) REFERENCES sharelist(_id);");
public createSqliteHelper(Context context) {
super(context, DATABASE_NAME, null, SCHEMA_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
try {
db.execSQL(DATABASE_CREATE);
db.execSQL(DATABASE_CREATE1);
}
catch(SQLiteException e) {
Log.e("createerr",e.toString());
}
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
android.util.Log.w("LunchList", "Upgrading database, which will destroy all old data");
db.execSQL("DROP TABLE IF EXISTS sharelist");
db.execSQL("DROP TABLE IF EXISTS usedlist");
onCreate(db);
}
你有一個logcat錯誤日誌嗎?它是否拋出任何異常? – st0le 2010-12-18 13:19:54
是的。它拋出像「12-18 19:12:13.338:錯誤/ AndroidRuntime(930):引起:android.database.sqlite.SQLiteException:沒有這樣的表:usedlist:,編譯時:SELECT * FROM usedlist ORDER BY symbol」 – sri 2010-12-18 13:44:58