# Daten in die DB hinzufügen



## Fighta (14. Okt 2011)

Hallo,

also ich habe eine Frage wegen meinem Programm. Das Programm soll die Kundendaten ( wie z.B Name, Vorname etc..) in die DB speichern und diese natürlich auch wieder lesen können. Update und Delete will ich auch später noch einbauchen. Zurzeit habe ich das Problem, dass ich, wenn ich ein InsertBefehl mache z.B  


meine methode sieht folgernmaßen aus:


```
public int processInsert(String nachname, String vorname, String adress) {
		String insertString1;

		insertString1 = "INSERT INTO `kunden` (`Name`, `Vorname`,`Telnummer`) VALUES ('"
				+ nachname
				+ "','"
				+ vorname
				+ "','"
				+ adress + "');";

		System.out.println(insertString1);
		Statement stmt = null;
		ResultSet rs = null;
		try {
			stmt = con.createStatement();
			int rks= stmt.executeUpdate(insertString1);
//			System.out.println(rks);
//			//java.sql.Statement = rs.getString(1);
////			rs = stmt.executeQuery(insertString1);
////			System.out.println(rs.getString(1));
////			
////						
////			System.out.println(insertString1);
//			stmt.close();
			con.close();

		} catch (SQLException ex) {
			System.err.println("SQLException: " + ex.getMessage());
		}
		return 5;
```


ich brauch die Kundennummer, was automatisch, fortlaufend in der DB befüllt wird. Wie kann ich die jetzt am besten herauslesen ?


----------



## Marcinek (14. Okt 2011)

2 sekunden google.

MySQL :: Using AUTO_INCREMENT keys with Connector/J 3.0


----------



## tfa (14. Okt 2011)

Nimmt er den MySQL?


----------



## Marcinek (14. Okt 2011)

Ich denke die Lösung wird hier für andere DBs analog sein ;D


----------



## maki (14. Okt 2011)

*verschoben*


----------



## tfa (14. Okt 2011)

Marcinek hat gesagt.:


> Ich denke die Lösung wird hier für andere DBs analog sein ;D



Das sagt sich so leicht...

Davon mal abgesehen: einen automatisch generierten Schlüssel (Primary Key?) als Kundennummer zu verwenden, kann problematisch werden.


----------



## stone71 (14. Okt 2011)

Ich habe das Problem nicht so ganz verstanden, allerdings solltest Du hier doch verschiedene Möglichkeiten haben an die Daten zu kommen. In einer Anwendung im Netz kann ein solcher Aufruf mit dem Holen der letzten ID durchaus fehlerhaft sein. Hier geht es allerdings rein um konkurrierende Zugriffe.

Du solltest allerdings in Deiner Source genug Möglichkeiten haben mit Deinen bestehenden Informationen auch die Kundennummer zu erhalten. 
So wäre zum Beispiel die Implementierung von einem select möglich. Beispiel:


```
select Kundennummer from kunden where Name = ... AND Vorname= ...
```

Das resultset könnte man danach auswerten. 

Hibernate und auch andere Frameworks bieten dies auch als standard.


----------



## Fighta (14. Okt 2011)

Marcinek hat gesagt.:


> 2 sekunden google.
> 
> MySQL :: Using AUTO_INCREMENT keys with Connector/J 3.0



danke der Link hat mir geholfen


----------

