0
我想在SQLite中創建2個(或更多)表,但有問題。我創建了一個表之前,這是工作,但現在當我嘗試製作第二個表並插入一些數據它說'沒有這樣的表'無法在Android SQLite中創建兩個表
爲什麼這不工作?
@Override
public void onCreate(SQLiteDatabase db) {
// create wedstrijden table
String CREATE_WEDSTRIJD_TABLE = "CREATE TABLE wedstrijd (" +
"id INTEGER PRIMARY KEY, " +
"datum TEXT, " +
"thuisclub NUMERIC, " +
"bezoekers NUMERIC, " +
"thuistenue TEXT, " +
"bezoekerstenue TEXT, " +
"aftrap TEXT, " +
"begintijd1ehelft TEXT, " +
"eindtijd1ehelft TEXT, " +
"extratijd1ehelft TEXT, " +
"begintijd2ehelft TEXT, " +
"eindtijd2ehelft TEXT, " +
"extratijd2ehelft TEXT, " +
"verlengen NUMERIC, " +
"penalties NUMERIC, " +
"begintijdverlengen TEXT, " +
"eindtijdverlengen TEXT, " +
"totalespeeltijd TEXT, " +
"begintijdpenalties TEXT, " +
"eindtijdpenalties TEXT, " +
"doelpuntenthuis NUMERIC, " +
"doelpuntenuit NUMERIC)";
db.execSQL(CREATE_WEDSTRIJD_TABLE);
// create teams table
String CREATE_TEAM_TABLE = "CREATE TABLE teams (" +
"id INTEGER PRIMARY KEY, " +
"naam TEXT, " +
"trainer TEXT, " +
"tenue TEXT)";
db.execSQL(CREATE_TEAM_TABLE);
}
,並添加數據我這樣做:
db.addTeam(new DatabaseTeams(bezoekersTeam,bezoekersTrainer,bezoekersTenue));
public void addTeam(DatabaseTeams team){
// 1. get reference to writable DB
SQLiteDatabase db = this.getWritableDatabase();
// 2. create ContentValues to add key "column"/value
ContentValues values = new ContentValues();
values.put(KEY_NAAM_TEAM, team.getTeamNaamThuis());
values.put(KEY_TRAINER_TEAM, team.getTeamTrainerThuis());
values.put(KEY_TENUE_TEAM, team.getTeamTenueThuis());
// 3. insert
long lastId = db.insert(TABLE_TEAM, // table
null, //nullColumnHack
values); // key/value -> keys = column names/ values = column values
Log.d("Insert new team "+lastId+" invoeren", team.toString());
// 4. close
db.close();
}
值是:
// Team Info
// Team table name
private static final String TABLE_TEAM = "teams";
// Team table Columns names
private static final String KEY_ID_TEAM = "id";
private static final String KEY_NAAM_TEAM = "naam";
private static final String KEY_TRAINER_TEAM = "trainer";
private static final String KEY_TENUE_TEAM = "tenue";
private static final String[] COLUMNS_TEAM = {KEY_ID_TEAM,KEY_NAAM_TEAM,KEY_TRAINER_TEAM,KEY_TENUE_TEAM};
'TABLE_TEAM'的價值是什麼? – Apoorv
把你的logcat錯誤,如果你有任何崩潰? –
一旦你創建了一個表,然後如果你想添加另一個表,那麼你需要更改數據庫版本,否則它將始終引用舊的數據庫。 – GrIsHu