![](/img/trans.png)
[英]How do i bind a jtextfield to get text from the database in Netbeans?
[英]How do i get Date back from sql Database to netbeans jdatechooser when i execute search query?
当我执行搜索查询时,出现错误“ java.sql.SQLException:对空结果集的非法操作”。 我想从我的数据库获取日期到jDateChoser。 这就是我尝试过的,请帮帮我! 提前致谢!
try {
Statement s = DB2.kavish().createStatement();
ResultSet rs = s.executeQuery("SELECT * FROM Invoice WHERE Invoice_No='"+jTextField28.getText()+"'");
while (rs.next());
jTextField29.setText(rs.getString(2));
jTextField30.setText(rs.getString(3));
jTextField31.setText(rs.getString(4));
jTextField32.setText(rs.getString(5));
jTextField33.setText(rs.getString(6));
jTextField34.setText(rs.getString(7));
jTextField35.setText(rs.getString(8));
jDateChooser1.setDate(rs.getDate(9));
} catch (Exception e) {
e.printStackTrace();
}
使用以下方式
try{
Statement s = DB2.kavish().createStatement();
ResultSet rs = s.executeQuery("SELECT * FROM Invoice WHERE Invoice_No='"+jTextField28.getText()+"'");
while (rs.next()){
jTextField29.setText(rs.getString(2));
jTextField30.setText(rs.getString(3));
jTextField31.setText(rs.getString(4));
jTextField32.setText(rs.getString(5));
jTextField33.setText(rs.getString(6));
jTextField34.setText(rs.getString(7));
jTextField35.setText(rs.getString(8));
jDateChooser1.setDate(rs.getDate(9));
}
} catch (Exception e) {
e.printStackTrace();
}
你有分号;
在此行中while (rs.next());
去掉它
最初,光标位于第一行之前。 rs.next方法将光标移动到下一行。 如果光标位于最后一行之后,则此方法返回false。 此方法使用while循环重复调用ResultSet.next方法,以遍历ResultSet中的所有数据。 您正在尝试在while循环之后进行检索,这意味着游标已经在底部,因此没有数据在此处。
注意
为了防止SQL Injection
请使用PreparedStatement
代替Statement
,如下所示
PreparedStatement pt=DB2.kavish().prepareStatement("SELECT * FROM Invoice WHERE Invoice_No=?");
pt.setString(1,jTextField28.getText());
ResultSet rs=pt.executeQuery();
while (rs.next()){
jTextField29.setText(rs.getString(2));
jTextField30.setText(rs.getString(3));
jTextField31.setText(rs.getString(4));
jTextField32.setText(rs.getString(5));
jTextField33.setText(rs.getString(6));
jTextField34.setText(rs.getString(7));
jTextField35.setText(rs.getString(8));
jDateChooser1.setDate(rs.getDate(9));
}
} catch (Exception e) {
e.printStackTrace();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.