データベースにレコードを追加する簡単な登録フレームを作成しています。データベースにレコードを追加するSQLクエリを実行するたびにエラーメッセージが表示されますが、それでもレコードは追加されますが、そのため、プログラムは別のウィンドウを開くのではなく停止します。
コードのその部分は次のとおりです。
regButton.addActionListener(new ActionListener() {
@Override public void actionPerformed( ActionEvent e ) {
//Execute when button is pressed
if( uNameField.getText().equals("")
|| new String(newPassField.getPassword()).equals("")
|| new String(repeatPassField.getPassword()).equals("") ) {
errorLabel.setForeground(Color.red);
errorLabel.setText("Some fields are left blank");
}
else if( new String(newPassField.getPassword()).equals(
new String(repeatPassField.getPassword()))){
Statement stmt;
ResultSet res;
try
{
//SET USERNAME AND PASSWORD FROM FIELDS TO UPPER CASE
String username = uNameField.getText().toUpperCase();
String password = new String(newPassField.getPassword()).toUpperCase();
//SQL INSERT QUERY
String sql;
sql = "INSERT INTO Employees VALUES ('" +username +"','" +password +"');";
stmt = con.createStatement();
res = stmt.executeQuery(sql);
System.out.println("Added to database!");
con.close();
}
catch(SQLException exe) {
System.out.println("Error creating or running statement: " + e.toString());
try {
con.close();
}
catch(Exception eex){}
}
}
else {
errorLabel.setForeground(Color.red);
errorLabel.setText("Password missmatch");
}
}
新しい従業員(ユーザー)を登録するたびに、この「ステートメントの作成または実行中にエラーが発生しました:.....」と表示されますが、新しく追加された従業員は従業員リストにあります。
この問題の原因は何ですか?