Код: Выделить всё
public void add(String name, int numberOfVisits, int specializationId) {
try {
String url = DatabaseManager.getDatabaseURL();
Connection connection = DriverManager.getConnection(url);
String insertDoctorSQL = "INSERT INTO doctors (name, numberOfVisits, specialization_id) VALUES (?, ?, ?)";
PreparedStatement insertDoctorStatement = connection.prepareStatement(insertDoctorSQL);
insertDoctorStatement.setString(1, name);
insertDoctorStatement.setInt(2, numberOfVisits);
insertDoctorStatement.setInt(3, specializationId);
int rowsInserted = insertDoctorStatement.executeUpdate();
if (rowsInserted > 0) {
JOptionPane.showMessageDialog(null, "Doctor is successfuly added", "Success", JOptionPane.INFORMATION_MESSAGE);
} else {
JOptionPane.showMessageDialog(null, "Doctor wasn't added", "Error", JOptionPane.INFORMATION_MESSAGE);
}
insertDoctorStatement.close();
connection.close();
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "Error with inputing data into database", "Error", JOptionPane.ERROR_MESSAGE);
ex.printStackTrace();
}
}
Код: Выделить всё
addButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
int specs = 0;
DoctorRepositoryImp doctorRepository = new DoctorRepositoryImp();
if (specialization.equals("Dentist")) {
specs = 1;
}
else if (specialization.equals("Surgeon")) {
specs = 2;
}
else if (specialization.equals("Ophthalmologist")) {
specs = 3;
}
doctorRepository.add(name, visitCount, specs);
}
});
Добавлю, что врачи и специализации — это слишком разные таблицы.
Все, что я пробовал, пока приводило к этому коду
Подробнее здесь: https://stackoverflow.com/questions/782 ... using-java