私はデータベースとJavaプログラムを持っています。テキストフィールドにMockIDが入力され、送信ボタンが押された場合、その入力されたMock IDに従った詳細は、データベースから取得してテキストエリアに表示するように、コードを記述しようとしています。以下は私が書いたコードです。このコードは、私が行った改正後に機能するようになりました。しかし、テキストエリアでは、実際には、与えられたモックIDのレコードからの関連情報は表示されず、テキストのみが表示されます。 誰かに助言してもらえますか?Java MySQL PreparedStatement SELECTステートメント
JButton button = new JButton("Submit");
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
String mockId = textField.getText();
try {
String sql = "SELECT MockID, Subject, Year, Date FROM mockexam WHERE MockID =?";
PreparedStatement prest = con.prepareStatement(sql);
prest.setString(1, mockId);
prest.executeQuery();
textArea.append("MockID, Subject, Year, Date");
JOptionPane.showMessageDialog(frmFindMock, "Record has been updated.");
}
catch (SQLException e) {
//System.out.println("Record couldn't be added!");
e.printStackTrace();
JOptionPane.showMessageDialog(frmFindMock, "Record couldn't be updated. Please try again.");
}
}
});
button.setBounds(303, 60, 75, 23);
panel_1.add(button);
私は、Mock ID、Subject、Year、DateをTextAreaの結果として表示したいと思います。なぜ私はMockID =を持っていたのですか?なぜなら、ユーザーが入力する特定のMockIDに対して情報を表示する必要があるからです。 – Pita
はい私は知っています... "?"で表されるすべての変数に対してsetStringを実行します....ここではMockIdだけが変数です..... "select * "...しかし、まだ1つの議論しかないでしょう(?)をPreparedStatementに設定してください。これはあなたのMockIdです –