Ich habe ein Standard-Tutorial für den Aufbau einer Datenbank mit Android gefolgt. Ich habe eine Klasse namens DbHelper erstellt, die SQLiteOpenHelper erweitert. Ich habe den Erstellungshandler überschrieben, um eine Zeichenfolge auszuführen.Mehrere Anweisungen mit SQLiteDatabase.execSQL ausführen
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(DbDefinitions.DB_CREATE);
}
DbDefinitions.DB_CREATE ist eine statische Zeichenfolge, die ich erstellt habe.
public static final String TABLE_MESSAGES = "messages";
public static final String TABLE_FRIENDS = "friends";
public static final String STATE_OK = "STATE_OK";
public static final String DB_CREATE =
"create table " + TABLE_MESSAGES + " (_id integer primary key, user_id integer not null, created_on integer, subject text not null, summary text not null, messagetext text null, read integer not null, status text not null default '" + STATE_OK + "'); " +
"create table " + TABLE_FRIENDS + " (_id integer primary key, user_id integer not null, friend_id integer not null, created_on integer, status text not null default '" + STATE_OK + "');";
Ich möchte 1 String verwenden, um mehrere SQL-Anweisungen auszuführen. Wie kann ich dies tun, da SQLiteDatabase.execSQL nur 1 Anweisung erlaubt?
Danke, genau das, was ich funktioniert wie ein Zauber benötigt. –
was ist, wenn das ';' ist in einem Textfeld? –
Das **; ** am Ende der SQL-Anweisungen ist völlig nutzlos. –