Hallo liebe Java Gemeinde,
ich beschäftige mich gerade neu mit SQL. Für mein Programm habe ich eine Datenbank mit 3 Tabellen erstellt.
Jede dieser Tabellen hat unschiedliche Spalten.
2 Tabellen haben als erste Spalte ID die als Autoincrement definiert ist. Die Datenbank soll also die ID automatisch generieren.
Doch wie füge ich nun Daten zu dieser Tabelle hinzu? Vor allem so das die Spalte ID immer um einen hochzählt?
Eine der Tabellen erstelle ich so:
P.S.: ich nutze HSQLDB
ich beschäftige mich gerade neu mit SQL. Für mein Programm habe ich eine Datenbank mit 3 Tabellen erstellt.
Jede dieser Tabellen hat unschiedliche Spalten.
2 Tabellen haben als erste Spalte ID die als Autoincrement definiert ist. Die Datenbank soll also die ID automatisch generieren.
Doch wie füge ich nun Daten zu dieser Tabelle hinzu? Vor allem so das die Spalte ID immer um einen hochzählt?
Java:
public void abspeichern(String tabelle,String[] arg) throws SQLException{
String eintrag = "INSERT INTO " + tabelle + " VALUES(";
if(arg == null||arg.length <= 0){ //Wenn keine Argumente vorhanden return
return;
}else if(arg.length == 1){ //Wenn nur ein Argument vorhanden ist schreibe dieses
eintrag += arg[0] + ")";
}else{
for(int i = 0; i < arg.length-1; i++){ //Wenn es viele Argumente gibt verbinde diese mit einem Kommer. Das letzte Element bekommt dann die ')'
eintrag += arg[i] + "," ;//" VALUES('" + vorname + "','" + name + "')";
}
eintrag += arg[arg.length-1] + ")";
}
System.out.println(eintrag);
stmt.executeUpdate(eintrag); //Sende den SQL-Befehl
}
Eine der Tabellen erstelle ich so:
SQL:
CREATE TABLE IF NOT EXISTS SPORTKURSE (ID INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 1, INCREMENT BY 1) NOT NULL,NAME VARCHAR(255),BESCHREIBUNG VARCHAR(255),BEWEGUNGSFELD INTEGER,PRIMARY KEY (ID))
P.S.: ich nutze HSQLDB