0

我有我制作的这个 Java 应用程序,它可以同时使用 Java 和 MySQL。连接正常,一切都很好。但在 Java 应用程序表单中,我有 4 个按钮,第一个按钮显示 MySQL 表中的第一条记录。我希望第二个按钮仅显示第二条记录。但是我编写的代码也显示了第二个和其余的记录。请帮助我,这是我必须尽快提交的重要项目。谢谢你。这是我在源代码中为第二个按钮编写的内容:

try{
    Connection connection=getConnection();
    stmt=connection.createStatement();
    rs=stmt.executeQuery("Select * from hospital where pno>"+txtpno.getText()+" order by pno limit 2;");
    if(rs.next()){
        txtpno.setText(rs.getString("pno"));
        txtpname.setText(rs.getString("pname"));
        txtgender.setText(rs.getString("gender"));
        txtage.setText(rs.getString("age"));
        txtdname.setText(rs.getString("dname"));
        txtdep.setText(rs.getString("dep"));
    }
}
catch(Exception ex){
    System.out.println(ex.toString());
}
finally{}
4

3 回答 3

1

使用“next()”两次:

rs=stmt.executeQuery("Select * from hospital where pno>"+txtpno.getText()+" order by pno limit 2;");
// here the change
if(rs.next() && rs.next()){
    txtpno.setText(rs.getString("pno"));
// ...
于 2013-11-08T10:44:58.543 回答
0

只需将偏移量添加到您的 sql

SELECT * FROM tbl LIMIT 1, 2 ;

或者

SELECT * FROM  tbl LIMIT 2 offset 1;

代码

rs=stmt.executeQuery("Select * from hospital where pno>"+txtpno.getText()+" order by pno limit 2 offset 1;");
于 2013-11-08T10:45:24.980 回答
-1

好吧,您应该知道rs.next()“加载”要从中获取数据的下一行。因此,只需调用rs.next()一次即可绕过第一行,您就可以了。

另外,关闭finally块中的语句和连接!

于 2013-11-08T10:43:26.430 回答