Ich brauche Hilfe, ich versuche etwas in die vorhandene Datenbank einzufügen, aber ich kann es nicht schaffen. Ich bekomme Die Datenbankdatei ist gesperrt (Datenbank ist gesperrt). Ich habe versucht, das vorbereitete Statement zu schließen, aber kein Glück. Ich habe stattdessen executeUpdate() verwendet executeQuery(), keine Hilfe.SQLite ist beschäftigt, Datenbank ist gesperrt
public class tableController {
Connection connection;
@FXML
private TextField txtId;
@FXML
private TextField txtName;
@FXML
private TextField txtLastName;
@FXML
private TextField txtAge;
@FXML
private TextField txtUsername;
@FXML
private TextField txtPassword;
@FXML
private Button save;
public tableController() {
connection = SQLiteConnection.connector();
if(connection == null) {
System.out.println("Test");
System.exit(1);
}
}
public boolean isDBConnected() {
try {
return !connection.isClosed();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return false;
}
}
public void Insert(ActionEvent event) throws SQLException {
PreparedStatement preparedStatement = null;
ResultSet resultSet;
String query = "insert into employee (id, name, lastName, age, username, password) values (?,?,?,?,?,?)";
try {
preparedStatement = connection.prepareStatement(query);
preparedStatement.setString(1, txtId.getText());
preparedStatement.setString(2, txtName.getText());
preparedStatement.setString(3, txtLastName.getText());
preparedStatement.setString(4, txtAge.getText());
preparedStatement.setString(5, txtUsername.getText());
preparedStatement.setString(6, txtPassword.getText());
Alert aleret = new Alert(AlertType.INFORMATION);
aleret.setTitle("Information dialog");
aleret.setHeaderText(null);
aleret.setContentText("User has been created");
aleret.showAndWait();
preparedStatement.executeUpdate();
} catch (Exception e) {
// TODO: handle exception
JOptionPane.showMessageDialog(null, e);
e.printStackTrace();
} finally {
if(preparedStatement != null) {
preparedStatement.close();
}
}
}
}
Eine andere Verbindung (in diesem oder einem anderen Programm) hat eine aktive Transaktion. –
@ CL. Alle anderen Projekte sind geschlossen und nichts läuft im Hintergrund. Wie kann ich das beheben? – szentmihaly
Versuchen Sie, .db-Datei zu kopieren und dann diese Kopie für Ihr Programm zu verwenden, und sehen Sie, was passiert –