我的问题是关于 eclipse 中使用 MySQL 显示的更新查询,从下面的代码收到
这是我的数据库: 我正在尝试在 Eclipse 上执行下一个更新查询,但遇到了麻烦
public static void update_Payment(String month,int number) {
String sqlupdate = "UPDATE tenant SET month=? WHERE appartmentnum =? ";
try {
PreparedStatement pst = connect.prepareStatement(sqlupdate);
pst.setInt(1, 4);
pst.setInt(2, 1);
pst.executeUpdate();
} catch (SQLException var2) {
var2.printStackTrace();
}
}
我知道我的数据库中没有列名月份,我只想从用户那里接收月份名称,例如
这工作正常
当我将[列名称从] month
更改为 april
或 jan
感谢帮助
最佳答案
由于您将此 SQL 语句构建为字符串,因此请尝试以下操作:
public static void update_Payment(String month,int number) {
String sqlupdate = "UPDATE tenant SET " + month + "=? WHERE appartmentnum =? ";
try {
PreparedStatement pst = connect.prepareStatement(sqlupdate);
pst.setInt(1, 4);
pst.setInt(2, 1);
pst.executeUpdate();
} catch (SQLException var2) {
var2.printStackTrace();
}
}
您还有问题:
您需要一种方法来传递 的适当值?
。没有将月份转换为月份数字的默认方法。您可以在代码或数据库中编写解决方案,例如Get month number from month name
或者当然只需添加另一个参数并传入代表月份的适当整数,类似于您对 apt# 所做的操作
关于java - eclipse中的sql更新查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48310064/