当我单击上一个按钮时,我的文本字段不会填充数据库中的值。它给了我java.sql.SQLException的错误:
列' PassengerName'未找到。
我的数据库中存在PassengerName
列。有人可以告诉我有什么问题吗?
这是我的代码:
public PaymentForm() {
try {
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection(url, user, password);
stt = con.prepareStatement("SELECT * FROM payment");
rs = stt.executeQuery();
JOptionPane.showMessageDialog(null, "Connection Successful to Database", "Success", JOptionPane.INFORMATION_MESSAGE);
}catch(Exception e) {
JOptionPane.showMessageDialog(null, "Error in connecting to db", "Error", JOptionPane.ERROR_MESSAGE);
}
initialize();
}
}
JButton btnPrev = new JButton("Previous");
btnPrev.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
if (rs.previous()) {
pass.setSelectedItem(rs.getString("PassengerName"));
int d = rs.getInt("InvoiceNo");
in.setText(String.valueOf(d));
int d2 = rs.getInt("CardNo");
cn.setText(String.valueOf(d2));
double pr = rs.getDouble("Price");
tp.setText(String.valueOf(pr));
nc.setText(rs.getString("Name"));
}else {
rs.next();
JOptionPane.showMessageDialog(null, "No more records");
}
}catch(Exception e1) {
JOptionPane.showMessageDialog(null, "Error");
e1.printStackTrace();
答案 0 :(得分:1)
您的查询没有包含该列...当您对结果集执行getString时,您将收到错误。
作为旁注:您可以直接使用getString(...)从ResultSet中读取列值,即使基础类型不是字符串
答案 1 :(得分:1)
SELECT PassengerName FROM payment
尝试直接在mysql中执行上面的语句,看看这是否给你结果
答案 2 :(得分:1)
答案 3 :(得分:0)
我必须创建一个更新表方法()。 在方法中,我从表中选择*。 然后我在initialise方法()之后调用该方法。