gpt4 book ai didi

java - 如何将数据库中的值设置到文本字段中

转载 作者:行者123 更新时间:2023-11-30 04:33:15 26 4
gpt4 key购买 nike

 private void btgetinvActionPerformed(java.awt.event.ActionEvent evt) {
//JOptionPane.showMessageDialog(null, "REMITTANCE ID IS VALID!");
try {
DBUtil util = new DBUtil();
Connection con = util.getConnection();
PreparedStatement stmt = con.prepareStatement("select bk_det.rm_id from bk_det WHERE dbo.bk_det.rm_id = ?");
ResultSet rs;
String rm = tf_rmid.getText().trim();
stmt.setInt(1, Integer.parseInt(rm));
rs = stmt.executeQuery();
while (rs.next()) {
int i = Integer.parseInt(rs.getString("box_no"));
tfbrname.setText(rs.getString(i));
}
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, ex.getMessage());

}
}

我实际上正在尝试从名为 dbo.bk_det 的数据库表中搜索值。我从文本字段 tf_rmid 中获取 WHERE 的值。一切都进展顺利,没有错误,但是一旦我插入 rm_id 并单击按钮 btgetinv,它会显示 123,这是我的 rm_id 超出范围,无法理解错误在哪里以及问题是什么。

最佳答案

问题出在以下语句上:

int i = Integer.parseInt(rs.getString("box_no"));
tfbrname.setText(rs.getString(i));

第一个语句不会按您想要的方式工作,因为 select 子句中没有名为“box_no”的列。它会抛出异常。假设您将代码更改为在 select 子句中包含 box_no。然后,第二条语句将尝试检索第 n 列,其中该列是 box_no 的值。我想你只是想要:

tfbrname.setText(rs.getString("box_no"));

同样,只有当您的 SELECT 语句在字段列表中包含 box_no 时,上述内容才有效。

关于java - 如何将数据库中的值设置到文本字段中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14095122/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com