更新
我更改了sql查询(只是测试它,它适用于sql但仍然不能使用java,不为什么:(
您好如何使用此代码在jLabel
上添加get结果?是否可以在jTable
上显示结果?
private void searchTeacherActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String sql = ("select student_ID, firstName, afterName FROM student JOIN studentHom ON course = studentHom_ID WHERE prefect = ?
try {
pst = connection.prepareStatement(sql);
pst.setString(1, larareSoka.getText());
pst.execute();
} catch (Exception e) {
JOptionPane.showMessageDialog(rootPane, e);
}
}
答案 0 :(得分:1)
首先不要使用(?)
您只能使用?
:
select ... where course.courseStart = ? and course.corse.end = ?
第二次你必须在你拖曳的情况下为你的查询设置参数,所以你必须使用:
pst.setString(1, value_of_courseStart);
pst.setString(2, value_of_corse.end);
第三次得到结果你必须像这样使用ResultSet:
ResultSet result = preparedStatement.executeQuery();
if (result.next()) {
String firstname = result.getString(1);
//----------------------------------^
//...same for the other columns
}
或者您可以使用这样的列名称:
ResultSet result = preparedStatement.executeQuery();
if (result.next()) {
String firstname = result.getString("firstName");
//--------------------------------------^^
//...same for the other columns
}
注意强>
while
代替if
。course.courseStart = (?) and course.corse.end = (?) //no point---^ ^------Why this point here
您的意思是course.courseStart = ? and course.corseEnd = ?
答案 1 :(得分:0)
ResultSet rs = pst.executeQuery();
String firstname = rs.getString("firstname");
..
jLable.setText(firstname);
...您需要从结果集中读取数据