我有这个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{}
答案 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
块中的语句和连接!