lundi 27 avril 2015

Datenbankzugriff - Leere Zeile einfügen

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:
Java Code:

  1. Action neu = new AbstractAction("Neu") {
  2.  
  3. public void actionPerformed(ActionEvent e) {
  4.  
  5.  
  6. kundenId.setText("");
  7. name.setText("");
  8. vorName.setText("");
  9. telefon.setText("");
  10. straße.setText("");
  11. adresszusatz.setText("");
  12. plz.setText("");
  13. ort.setText("");
  14.  
  15.  
  16. a.insert();
  17.  
  18.  
  19. kundenId.setText(String.valueOf(a.getkundenId()));
  20.  
  21.  
  22. }


Und hier die Funktion, die den INSERT absetzt:

Java Code:

  1. void insert() {
  2.  
  3. try {
  4. Class.forName("oracle.jdbc.driver.OracleDriver");
  5. System.out.println("Fehler bei ODBC-JDBC-Bridge" + e);
  6.  
  7.  
  8. }
  9.  
  10.  
  11. Statement stmt;
  12. ResultSet rSet;
  13.  
  14.  
  15. try {
  16. String url = "jdbc:oracle:thin:@oragdv3vm.ham.gdv.org:1521:entwdb";
  17. con = DriverManager.getConnection(url, "ausbildung", "ausbildung");
  18.  
  19.  
  20. stmt = con.createStatement();
  21.  
  22.  
  23. String sqlQuery = "SELECT MAX(kunden_id) AS kunden_id FROM kunde";
  24. rSet = stmt.executeQuery(sqlQuery);
  25. while (rSet.next()) {
  26. kundenId = rSet.getInt("kunden_id");
  27.  
  28.  
  29. kundenId = kundenId + 1;
  30. }
  31. .prepareStatement("INSERT INTO kunde (kunden_id, vorname, nachname, telefon, straße, adresszusatz, plz, ort) VALUES (?, ?, ?, ?, ?, ?, ?, ?)");
  32.  
  33.  
  34. ps.setInt(1, kundenId);
  35. ps.setString(2, vorName);
  36. ps.setString(3, nachName);
  37. ps.setString(4, telefon);
  38. ps.setString(5, straße);
  39. ps.setString(6, adresszusatz);
  40. ps.setString(7, plz);
  41. ps.setString(8, ort);
  42. ps.executeQuery();
  43.  
  44.  
  45. System.out.println(ps.getUpdateCount() + " " + "Zeilen eingefügt");
  46.  
  47.  
  48. stmt.close();
  49. con.close();
  50. ps.close();
  51.  
  52.  
  53. } catch (SQLException e) {
  54. System.out.println("Fehler bei Tabellenabfrage" + e);
  55.  
  56.  
  57. }
  58.  
  59.  
  60. }


Ich hoffe ihr könnt mir helfen.


Datenbankzugriff - Leere Zeile einfügen

0 commentaires:

Enregistrer un commentaire