【问题标题】:JAVA SQL how do update column without erasing current valueJAVA SQL如何在不删除当前值的情况下更新列
【发布时间】:2018-05-12 21:09:45
【问题描述】:
    public void actionPerformed(ActionEvent e) {
        String CardNumber = Card.getText();
        String CVV = LastThreeDigits.getText();
        String Exp = Expire.getText();
        String Amount = va.getText();
        String username = Username.getText();

        Customer c1 = new Customer(CardNumber, Exp, Amount, username);
        boolean validated = c1.VerifyCreditCard(CardNumber, CVV, Exp, Amount, username);

        if (validated) {
            try {
                String don = "Update Login set Funds= '" + Amount + "' where Username= '" + username + "' ";
                PreparedStatement man = connect.prepareStatement(don);

                man.executeUpdate();

                JOptionPane.showMessageDialog(null, "Updated"); `enter code here`
                AdminDashBoard dash = new AdminDashBoard();
                dash.show();
                frame.setVisible(false);

            } catch (Exception ex) {
                ex.printStackTrace();

            }
        } else if (!(validated)) {
            JOptionPane.showMessageDialog(null, "Missing fields");
        }
    }

我正在使用这种方法来更新包含资金列的表格。每当我输入值时,它确实会更新表格,但是我如何使它在更新基金时将其添加到当前值?我对编码很陌生。

我的意思是如果用户输入值为10。它应该在数据库中显示10,如果用户想输入20。数据库中的值应该是30。

【问题讨论】:

  • 抱歉格式太差了
  • 为什么不直接读取当前值,在代码中设置新值,然后更新行。或者 afaik,你可以设置 value = value + newValue where...
  • 你能再深入一点吗?抱歉,我对编码真的很陌生,并且比其他方面更难以理解某些方面

标签: java oop user-interface methods


【解决方案1】:

您可以将其附加到现有值:

Update Login set Funds = String.valueOf(Integer.parseInt(Funds) + Integer.parseInt('" + Amount + "')) where Username = '" + username + "' ";

或者更好的解决方案,IMO,是读入当前值,然后将其添加到代码中,然后在现有的 set 语句中设置新值。

【讨论】:

  • String don = "更新登录集 Funds = String.valueOf(Integer.parseInt(Funds)) + Integer.parseInt('" + amount + "')) where Username = '" + username + "'";像这样?
  • @codeisnotf0rme - 看起来像我的帖子是的,所以试试看它是否有效。不过我还没有测试过。
  • 我收到此错误:org.sqlite.SQLiteException: [SQLITE_ERROR] SQL 错误或缺少数据库(“(”附近:语法错误)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-01-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-22
相关资源
最近更新 更多