java - eclipse中的sql更新查询

标签 java sql eclipse sql-update

我的问题是关于 eclipse 中使用 MySQL 显示的更新查询,从下面的代码收到

这是我的数据库: enter image description here 我正在尝试在 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 更改为 apriljan

感谢帮助

最佳答案

由于您将此 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/

相关文章:

java - 了解比较器的用法

sql - 如何在 PostgresQL/plpgsql 的 SQL 变量中使用多个值?

SQL JOIN 和不同类型的 JOIN

mysql - 可以在 SQL 删除查询中使用别名吗?

eclipse - "Could not launch external web browser"

java - nullPointerException 帮助 (android)

java - 从机上的Datanode和Nodemanager无法连接到主机上的NameNode和ResourceManager

java - 日历周结束日问题

java - 如何从捆绑了 Maven 依赖项的 Eclipse 中导出完整的 war 文件?

java - 在 Java 中重新实现 openssl_random_pseudo_bytes 函数的正确方法