如何通过点击两个按钮从MySQL数据库中检索记录?
JLabel
上显示第一条/下一条记录的行内容。答案 0 :(得分:0)
答案 1 :(得分:0)
你必须自己实现行为,使用ResultSet语句方法,在本例中,next()和previous()方法
方法重新表示一个布尔值,指示是否有下一个或上一个记录,您可以使用它来启用和禁用按钮
查看此链接以了解如何使用JDBC语句
http://docs.oracle.com/javase/tutorial/jdbc/basics/processingsqlstatements.html
假设nextBtn和PreviousBtn是你的Bouttons和你的ResultSet,我们需要两个变量(hasNext和hasPrevious)来保存按钮的状态,你可以参考下面的代码片段,你必须适应你的情况,它不会直接起作用。
private boolean hasNext = false;
private boolean hasPrevious = false;
public void updateBtnState() {
nextBtn.setEnabled(hasNext);
previousBtn.setEnabled(hasPrevious);
}
previousBtn = new JButton(" Previous <<");
previousBtn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
hasPrevious = res.previous();
if (hasPrevious ) hasNext = true;
// do something
updateBtnState();
}
});
nextBtn = new JButton(" Next >>");
nextBtn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
hasNext = res.next();
if (hasNext ) hasPrevious = true;
// do something
updateBtnState();
}
});
答案 2 :(得分:0)
解决方案是: -
public void actionPerformed(ActionEvent evt) {
//HERE next and pre are Button name;
//rs is REsultSet
if (evt.getSource()==next)
{
try {
if (rs.next())
{
if(rs.isLast())
{
pre.setEnabled(true);
next.setEnabled(false);
}
//do action
}
} catch (SQLException ex) {
Logger.getLogger(DeleteQ.class.getName()).log(Level.SEVERE, null, ex);
}
}
else if (evt.getSource() == pre)
{
try {
if(rs.previous())
{
if(rs.isFirst())
{
pre.setEnabled(false);
next.setEnabled(true);
}
//do action
}
} catch (SQLException ex)
{
Logger.getLogger(DeleteQ.class.getName()).log(Level.SEVERE, null, ex);
}
}
}