以下のコードを実行しようとしていますが、実行するたびに機能しません。誰かが私が間違っていることを強調してもらえますか?
コードが行うべきことは次のとおりです。
rと呼ばれるデータベースとsaと呼ばれる別のデータベースにテーブルを作成する必要があります。テーブルrには、外部キーと呼ばれる列が含まれています。私のJavaフロントエンドでは、jpanelにJtableがあり、別のjpanelに更新ボタンがあります。ユーザーが jtable 内の行を選択し、[更新] をクリックしたとき。jtable r で選択された行が外部キーとして sa id を持っている場合、ツールはテキスト ボックスに r からのデータと sa からのデータを表示します。
コード
if(updateClicked == true){
btnSubmit.setVisible(false);
btnUpdate.setVisible(true);
btnNew.setEnabled(false);
Statement st;
PreparedStatement ps;
ResultSet rs;
try {
String rid = table.getValue(0);
JOptionPane.showMessageDialog(null, rid);
String rq ="SELECT * FROM `r` WHERE 'r_id`=' "+rid+"'";
ps = Login.con.prepareStatement(rq);
rs = ps.executeQuery();
String saID = rs.getString(2);
String q = "SELECT sa.Argument FROM sa, r WHERE r.sid ="+sID ;
st = Login.con.createStatement();
rs = st.executeQuery(q);
String argu = rs.getString(1);
System.out.println(argu);
if (argu.isEmpty()==false){
btnAddSA.doClick();
txtaArg.setText(argu);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
コンソール出力
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: 'where 句' の列 'R0004' が不明です