Я заметил, что вы импортируете PreparedStatement, но ваш код никогда не использует его. Ну, я не знаю много о SQL, но я делаю это, когда вы используете PreparedStatement, у вас меньше шансов иметь проблемы. Вот простой пример для вставки:
String sql = "INSERT INTO Name (First, Last) VALUES (?, ?)";
PreparedStatement stmt = connection.prepareStatement(sql);
stmt.setString( 1, s1 );
stmt.setString( 2, s2 );
stmt.executeUpdate();
Я взял на себя смелость прописывать имена таблиц и столбцов, так как большинство людей создавали имена таблиц.
Edit:
s1=f.getText();
s2=f1.getText();
Когда этот код выполняется, текстовое поле не содержит значений, поскольку у пользователя еще не было возможности ввести какие-либо данные в текстовые поля. Эти два оператора необходимо перенести в метод actionPerformed ().