gpt4 book ai didi

java - 使用java和数据库将值插入外键

转载 作者:行者123 更新时间:2023-11-29 12:02:36 25 4
gpt4 key购买 nike

在插入 FK ID 时,我需要从外键中找到一些解决方案,问题是当我插入 ID 时,付款将插入第一个 Customer_ID,第二个默认为空值,在下一列中它将设置为已插入,另一个为空这是我的代码

pStmt2 = conn.prepareStatement("insert into Audittrail_tbl (Customer_ID) values ((Select Name_ID from Customer_tbl where FName ='"+txtFName.getText()+"' and LName = '"+txtLName.getText()+"'))");
pStmt2 = conn.prepareStatement("insert into Audittrail_tbl (Payment) values ('"+txtPayment.getText()+"')");
pStmt2.executeUpdate();

最佳答案

您的代码应该是:

String sql = "insert into Audittrail_tbl (Customer_ID, Payment)" +
" select Name_ID, ?" +
" from Customer_tbl" +
" where FName = ?" +
" and LName = ?";
try (PreparedStatement stmt = conn.prepareStatement(sql)) {
stmt.setString(1, txtPayment.getText());
stmt.setString(2, txtFName.getText());
stmt.setString(3, txtLName.getText());
stmt.executeUpdate();
}

或者更好的是,如果 Payment 是金额列:

// Using BigDecimal
stmt.setBigDecimal(1, new BigDecimal(txtPayment.getText()));

// Using Double
stmt.setDouble(1, Double.parseDouble(txtPayment.getText()));

因为这会将文本解析为 Java 代码中的数字,因此您可以更好地处理解析错误。

注意:使用 insert-from-select(而不是带有子查询的 insert-values)将允许您根据需要从 Customer_tbl 中选择多个列。

关于java - 使用java和数据库将值插入外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32123912/

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