我已经读过关于这个的说明,但似乎没有一个对我有用。我有一个SQLite数据库和Netbeans作为我的IDE,我有一个jframe,它在jtable中显示数据记录,记录按升序显示。单击记录会在jtextfields中显示它们。
当我点击按钮时,我想以升序移动到数据库中的下一条记录,但它似乎无法正常工作。我做错了什么?
try{
String sql ="select * from Employees order by Name ASC";
pst=conn.prepareStatement(sql);
rs=pst.executeQuery();
if(rs.next()){
int i = rs.getInt("ID");
String idi= Integer.toString(i);
id.setText(idi);
String a = rs.getString("Name");
name.setText(a);
String b = rs.getString("Contact");
contact.setText(b);
String c = rs.getString("Email");
email.setText(c);
String d = rs.getString("Residence");
residence.setText(d);
String e = rs.getString("Job_Type");
comboJob.setSelectedItem(e);
}
else {
rs.previous();
}
}
catch(SQLException | HeadlessException ex)
{
JOptionPane.showMessageDialog(null, ex);
}finally{
try{
rs.close();
pst.close();
}
catch(Exception e){
}
}
答案 0 :(得分:1)
你需要将数据库中的值存储在一个数组中,然后用你的(上一个,下一个)按钮迭代它,如
i=0;
while(rs.next()) {
dataset["ID"][i]=Integer.toString(rs.getInt("ID"));
dataset["Name"][i]=rs.getString("EName");
i++
}
显示可以使用数据集数组的信息,如
id.setText(dataset["ID"][i]);
name.setText(dataset["EName"][i]);
未检查语法,但逻辑正确。