下一个按钮的 Java 代码
Posted
技术标签:
【中文标题】下一个按钮的 Java 代码【英文标题】:Java Code for the next button 【发布时间】:2013-04-03 06:44:50 【问题描述】:您好,这是我的下一个按钮的 java 代码。
但它只进入一条记录,即在最后一条记录之后它只移动到第一条记录。
如何在整个数据库条目中移动它。
请给我一些建议。
public void Next()
Connection con = null;
ResultSet rs = null;
try
con = DBConnection();
PreparedStatement pstmt = con.prepareStatement("select * from data", ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
rs = pstmt.executeQuery();
if (rs.next())
field1.setText(rs.getString("Name"));
field2.setText(String.valueOf(rs.getInt("Age")));
else
rs.previous();
JOptionPane.showMessageDialog(nxtbtn, "end of file");
catch (Exception e)
// TODO: handle exception
finally
try
rs.close();
catch (SQLException err)
JOptionPane.showMessageDialog(nxtbtn, err.getMessage());
// TODO: handle exception
【问题讨论】:
为了获得帮助,请尽快发布SSCCE,简短,可运行,可编译, 为什么原因在PreparedStatement declared
ResultSet.CONCUR_UPDATABLE`
【参考方案1】:
当您调用 next 时,它会重新加载数据库中的所有结果并将光标移动到第一行之前,调用 rs.next
将移动到第一行。
您是否查询过一次,大概是在您需要显示下一条记录时。
在您的next
方法中,只需调用rs.next()
即可将光标移动到结果集中的下一个可用行。
当然,您需要继续管理错误状态;)
【讨论】:
【参考方案2】:您需要在next()
方法之外获取resultset
。每次调用next()
都会重置resultset
,然后cursor
会重新开始。
【讨论】:
【参考方案3】:如果理解正确,您想使用下一步按钮点击结果集吗?
然后您应该读取数据库并将其存储在下一个按钮方法之外的结果集中。
目前看来,您每次点击都会创建一个新的结果集,并且只读取第一组数据。
private Connection con = DBConnection();
private ResultSet rs = null;
private Statement stmt = null;
public void onLoad()
stmt = con.createStatement();
rs = stmt.executeQuery("YOUR-CODE-HERE");
现在在下一个方法中,每次点击都会遍历 rs
【讨论】:
【参考方案4】:rs.next() 将光标移动到下一个可用行。这就是它显示一条记录的原因。使用while(rs.next())
【讨论】:
【参考方案5】:像下面这样向前移动一条记录
rs.next()
像下面这样浏览所有“下一个”记录
while(rs.next())
像下面这样向后移动
rs.previous()
【讨论】:
以上是关于下一个按钮的 Java 代码的主要内容,如果未能解决你的问题,请参考以下文章
java swing make分页Next / Prev,按按钮时的下一个按钮Forword Record或Prev goback