java - 执行和sql字符串

标签 java sql jdbc

我目前正在编写 java 的更新语句。单击按钮后,它将获取您放入文本字段中的整数数据,并从下拉列表中读取姓名并提供相应的员工 ID。数据库连接是通过不同的类完成的。

    ActionListener myActionListener = new ActionListener() {
        public void actionPerformed(ActionEvent ae) {
            DatabaseConnection connection = new DatabaseConnection();
            if (connection.openConnection()) {
                String ID = input1.getText();
                int orderID = Integer.parseInt(ID);

                String firstName = (String) cb.getSelectedItem();
                System.out.println(firstName);
                System.out.println(orderID);
                if (firstName == "Patrick") {
                    int employeeId = 10;
                    String sql = "UPDATE barorder SET statusId=2, employeeId='" + employeeId + "' where id='" + orderID + "' ;";
                }

            }
        }
    };

这是我到目前为止所得到的,但我现在不知道如何执行 SQL 字符串。有什么建议吗?

最佳答案

您可以使用 PreparedStatement 来更新查询,如下所示:

  ActionListener myActionListener = new ActionListener()
    {
        public void actionPerformed(ActionEvent ae)
        {
            DatabaseConnection connection = new DatabaseConnection();
            PreparedStatement preparedStatement = null;
            if (connection.openConnection())
            {
                String ID = input1.getText();
                int orderID = Integer.parseInt(ID);

                String firstName = (String) cb.getSelectedItem();
                System.out.println(firstName);
                System.out.println(orderID);
                if (firstName == "Patrick")
                {
                    int employeeId = 10;

                    String sql = "UPDATE barorder SET statusId=2, employeeId= ? where id= ?";
                    preparedStatement = connection.prepareStatement(sql);
                    preparedStatement.setInt(1, employeeId);
                    preparedStatement.setInt(2, orderID);
                    preparedStatement.executeUpdate(sql);

                }

            }
        }
    };

关于java - 执行和sql字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37790519/

相关文章:

java - JMockit模拟目标类的方法

mysql - 使用 SQL 从多个表中获取公共(public)值

java - blob.getBinaryStream 独立关闭

java - JDBC 调用 Oracle 存储过程,参数类型为 PL SQL 表

java - Selenium try/catch 点击似乎需要很长时间?

java - jpa 映射以删除单个实体

java - 如何阻止 Action 监听器重复之前的 Action

java - 具体数据来自sqlite

mysql - 对联合查询进行排序,第一个查询显示在第一个,然后其余查询按字母顺序显示

performance - 通过 JDBC 调用 PL/SQL 包性能问题