SQL Ergebnis in Integer Wert abspeichern

Zakon

Bekanntes Mitglied
Hallo 🙂

In Zeile 5 möchte ich das Ergebniss in ein Integer Wert abspeichern um es in Zeile 9 als ID einzufügen.
So bekomme ich zur Zeit noch eine fehlermeldung. Ist es überhaupt möglich so wie ich das vorhabe?

[CODE lang="java" highlight="5"]@FXML
public void bearbeitung(ActionEvent event) throws SQLException {
Connection conn = DBConnection.getInstance().getCon();
String auswahlName = boxName.getValue();
ResultSet ID = conn.createStatement().executeQuery("SLECT Mitarbeiter.ID FROM Mitarbeiter M WHERE M.Vorname LIKE '%"+auswahlName+"%'");
try{
dataall=FXCollections.observableArrayList();
ResultSet update = conn.createStatement().executeQuery("UPDATE Mitarbeiter_Produkt MP SET MP.Produkt_ID = "+wert1+" WEHRE MP.Mitarbeiter_ID="+ID+"");
ResultSet rs = conn.createStatement().executeQuery("SELECT * FROM FRIMEN F JOIN Mitarbeiter M ON F.ID=M.Firmen_ID "+
"JOIN Mitarbeiter_Produkt MP ON M.ID=MP.Mitarbeiter_ID JOIN Produkte P ON MP.Produkt_ID=P.ID WHERE M.Vorname LIKE '%"+auswahlName+"%'");
while (rs.next()){
dataall.add(new allDetails(rs.getInt(1),rs.getString(2),rs.getInt(3),rs.getString(4),
rs.getString(5),rs.getInt(6),rs.getInt(7),rs.getString(8)));
}
rs.close();

if (conn != null && conn.isClosed()) {
System.out.println("Connected");
} else {
System.out.println("Connection lost");
}
}catch(Exception e){
System.out.println(e.fillInStackTrace());
}



columnID2.setCellValueFactory(new PropertyValueFactory<>("ID2"));
columnFirmenName2.setCellValueFactory(new PropertyValueFactory<>("FirmenName2"));

columnMitarbeiter_ID2.setCellValueFactory(new PropertyValueFactory<>("Mitarbeiter_ID2"));
columnVorname2.setCellValueFactory(new PropertyValueFactory<>("Vorname2"));
columnNachname2.setCellValueFactory(new PropertyValueFactory<>("Nachname2"));
columnFirmen_ID2.setCellValueFactory(new PropertyValueFactory<>("Firmen_ID2"));

columnProdukt_ID2.setCellValueFactory(new PropertyValueFactory<>("Produkt_ID2"));
columnProdukt2.setCellValueFactory(new PropertyValueFactory<>("Produkt2"));

tableall.setItems(null);
tableall.setItems(dataall);
}[/CODE]

Danke im Vorraus für eure Hilfe 🙂
 
Du hast doch den Code, wie man ein ResultSet ausliest, direkt in dem Code mit drin. Da es nur ein Wert geben soll, reicht statt der while Schleife eine if Abfrage: if (ID.next()). Und dann bekommst du die Id per ID.getInt("ID");

ABER: SQL Queries werden NICHT so über Strings zusammen gesetzt. Gleich von Anfang an damit aufhören! Dafür gibt es prepared statements! Das einmal nachlesen und von Anfang an verwenden! Parameter sind zu nutzen!

Und dann kannst Du Schreibfehler korrigieren ("WEHRE").
 

Zurück
Oben