Ich arbeite derzeit an einer Anwendung für ein Restaurant. Die Idee für den Code, an dem ich gerade arbeite, ist, dass er den Namen aus einer Combobox erhält und einen Beleg mit der Angestelltennummer der Person, die daran arbeitet, in die Datenbank einfügt. Der Code whith, die ich versuche, es zu tun ist:Vor dem Start der Ergebnismenge läuft mehrere sql
RestaurantOrder sqlRestaurantOrder = new RestaurantOrder();
ActionListener printReceiptListner;
printReceiptListner = (ActionEvent) -> {
int ID = Integer.parseInt(input1.getText());
try {
SystemManager manager = new SystemManager();
ResultSet rs = manager.stmt.executeQuery(sqlRestaurantOrder.setIdSql(ID));
while (rs.next()) {
double totalPrice = rs.getDouble("sumprice");
if (ID > 0) {
Receipt receiptSql = new Receipt();
String firstName = (String) cb.getSelectedItem();
String checkoutDate = new SimpleDateFormat("yyyyMMdd").format(Calendar.getInstance().getTime());
ResultSet rs2 = manager.stmt.executeQuery(receiptSql.getEmployeeId(firstName));
int employeeId = rs2.getInt("id");
while (rs2.next()) {
Receipt receiptSql2 = new Receipt();
ResultSet rs3 = manager.stmt.executeQuery(receiptSql2.SetStatusReceipt(employeeId, checkoutDate, ID, totalPrice));
while (rs3.next()) {
}
}
}
}
} catch (SQLException k) {
JOptionPane.showMessageDialog(null, k.getMessage());
}
};
Die Aussagen sind:
public class Receipt {
public String sql;
public String sql2;
public String getEmployeeId(String firstName){
return sql2 = "SELECT id FROM employee WHERE firstName = '" + firstName + "';";
}
public String SetStatusReceipt(int employeeId, String checkoutDate, int id, double totalPrice){
return sql = "INSERT INTO `receipt` (`employeeId`, `price`, `restaurantOrderId`, `checkoutDate`) VALUES (" + employeeId + " , " + totalPrice + ", " + id + ", " + checkoutDate + ");";
};
}
ich den Fehler immer vor Beginn der Ergebnismenge, die ich sah, was es bedeutet, aber Ich kann es im Moment nicht beheben. Hilfe wird geschätzt.
Wenn ich vergessen haben, wichtiger Code schreiben lassen Sie mich wissen, ich es
Bitte senden Sie den Stacktrace des Fehlers, den Sie sehen. – Asaph
nur ein Vorschlag, es ist besser, wenn Sie separate Anrufe machen, um das Kombinationsfeld zu erhalten und die Quittung einzustellen, wäre es viel sauberer und einfach, Ausnahmen zu behandeln. – sash