我创建了一个名为“客户导航表单”的界面。在这种形式下,当我单击“返回”按钮时,我想加载前一个客户的详细信息。如果第一个客户的数据在表单上,当我单击“返回”按钮时,消息对话框应该显示消息“这是第一个客户”。但我的程序不执行此任务。
这是我写的代码..
backBtn.addActionListener(new ActionListener (){
public void actionPerformed (ActionEvent evt){
String id=idText.getText();
String SQL="Select from customer where id='"+id+"'";
try{
Class.forName("com.mysql,jdbc.Driver");
Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/Thogakade","root","1234");
Statement stm=conn.createStatement();
ResultSet rst=stm.executeQuery(SQL);
if(rst.previous()){
idText.setText(rst.getString("id"));
nameText.setText(rst.getString("name"));
addressText.setText(rst.getString("address"));
salaryText.setText(rst.getString("salary"));
}else{
JOptionPane.showMessageDialog(CustomerNavigationForm.this,"This is the first customer..");
}
}catch(SQLException | ClassNotFoundException ex){
JOptionPane.showMessageDialog(CustomerNavigationForm.this,ex.getMessage());
}
}
});
答案 0 :(得分:0)
首先要问的问题是这些是如何排序的?按ID?
在这种情况下,将SQL查询更改为id< ?按id desc limit 1
排序这将为您提供以前的记录。