MySQL查询返回除了一个以外的所有条目

时间:2013-11-08 10:40:31

标签: java mysql

我有这个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{}

3 个答案:

答案 0 :(得分: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"));
// ...

答案 1 :(得分: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;");

答案 2 :(得分:-1)

嗯,你应该知道rs.next()“加载”要从中获取数据的下一行。 所以只需拨打rs.next()一次就可以绕过第一行而你就是黄金。

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