Hej,
Mam problem ze wstawieniem danych do bazy. Poniżej wstawiam metodę, której używam do wstawienia rekordów.
public static boolean insertRecord(String name, String address, String phone, String nip, String mail) {
String questionContent = "INSERT INTO Firma VALUES (NULL, ?,?,?,?,?);";
try {
PreparedStatement preparedStatement = service.getConnection().prepareStatement(questionContent);
preparedStatement.setString(1, name); // numery dotyczą znaków zapytania
preparedStatement.setString(2, address);
preparedStatement.setString(3, phone);
preparedStatement.setString(4, nip);
preparedStatement.setString(5, mail);
preparedStatement.execute();
System.out.println("Dodano rekord");
} catch (SQLException e) {
System.err.println("Nie udało się dodać danych do bazy");
e.printStackTrace();
return false;
}
return true;
}
Tabela w bazie danych automatycznie wypełnia id dlatego w zapytaniu SQL jest wartość NULL.
Pod przycisk dodający rekord mam następujący kod:
@FXML
void saveCompanyData() {
String name = nameTextField.getText();
String address = addressTextField.getText();
String phone = phoneTextField.getText();
String nip = nipTextField.getText();
String mail = mailTextField.getText();
AddCompanyPaneUtils.insertRecord(name,address,phone,nip,mail);
}
Wyskakuje mi błąd "com.microsoft.sqlserver.jdbc.SQLServerException: An explicit value for the identity column in table 'Firma' can only be specified when a column list is used and IDENTITY_INSERT is ON."
Macie jakieś propozycje na rozwiązanie? Z góry dziękuję za pomoc.