Moin Moin,
erst einmal ein freundliches Hallo. Ich bin neu hier im Forum und hoffe, dass ihr mir bei einem kleinen Problem weiterhelfen könnt.
Ich bin gerade dabei ein Java GUI Programm mit zu schreiben, mit dem ich auf eine Oracle Datenbank zugreifen kann.
Soweit funktioniert auch schon alles, bis auf das Einfügen eines neuen Datensatzes in die Tabelle "Kunde".
Ich möchte einen leeren Kundenn einfügen, also nur die ID vergeben. Das Problem ist, dass immer der zuletzt angezeigte Kunde eigefügt wird. Ich habe versucht leere Felder durch das ("") einzufügen.
Hier mal ein Code Ausschnitt, der sich auf die Eingabemaske bezieht:
Und hier die Funktion, die den INSERT absetzt:
Ich hoffe ihr könnt mir helfen.
erst einmal ein freundliches Hallo. Ich bin neu hier im Forum und hoffe, dass ihr mir bei einem kleinen Problem weiterhelfen könnt.
Ich bin gerade dabei ein Java GUI Programm mit zu schreiben, mit dem ich auf eine Oracle Datenbank zugreifen kann.
Soweit funktioniert auch schon alles, bis auf das Einfügen eines neuen Datensatzes in die Tabelle "Kunde".
Ich möchte einen leeren Kundenn einfügen, also nur die ID vergeben. Das Problem ist, dass immer der zuletzt angezeigte Kunde eigefügt wird. Ich habe versucht leere Felder durch das ("") einzufügen.
Hier mal ein Code Ausschnitt, der sich auf die Eingabemaske bezieht:
Java:
Action neu = new AbstractAction("Neu") {
public void actionPerformed(ActionEvent e) {
kundenId.setText("");
name.setText("");
vorName.setText("");
telefon.setText("");
straße.setText("");
adresszusatz.setText("");
plz.setText("");
ort.setText("");
a.insert();
kundenId.setText(String.valueOf(a.getkundenId()));
}
Und hier die Funktion, die den INSERT absetzt:
Java:
void insert() {
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
} catch (ClassNotFoundException e) {
System.out.println("Fehler bei ODBC-JDBC-Bridge" + e);
}
Connection con;
Statement stmt;
ResultSet rSet;
try {
String url = "jdbc:oracle:thin:@oragdv3vm.ham.gdv.org:1521:entwdb";
con = DriverManager.getConnection(url, "ausbildung", "ausbildung");
stmt = con.createStatement();
String sqlQuery = "SELECT MAX(kunden_id) AS kunden_id FROM kunde";
rSet = stmt.executeQuery(sqlQuery);
while (rSet.next()) {
kundenId = rSet.getInt("kunden_id");
kundenId = kundenId + 1;
}
PreparedStatement ps = con
.prepareStatement("INSERT INTO kunde (kunden_id, vorname, nachname, telefon, straße, adresszusatz, plz, ort) VALUES (?, ?, ?, ?, ?, ?, ?, ?)");
ps.setInt(1, kundenId);
ps.setString(2, vorName);
ps.setString(3, nachName);
ps.setString(4, telefon);
ps.setString(5, straße);
ps.setString(6, adresszusatz);
ps.setString(7, plz);
ps.setString(8, ort);
ps.executeQuery();
System.out.println(ps.getUpdateCount() + " " + "Zeilen eingefügt");
stmt.close();
con.close();
ps.close();
} catch (SQLException e) {
System.out.println("Fehler bei Tabellenabfrage" + e);
}
}
Ich hoffe ihr könnt mir helfen.