Java derby 数据库不工作

标签 java mysql sql jdbc

这几行代码有问题吗?我得到的只是“无效条目”。 我有一个名为“生产”的数据库,其中有一个名为“生产”的表。

try {
    String mk = jTextField1.getText();
    String mn = jTextField2.getText();
    String ab = (String) jComboBox1.getSelectedItem();
    String bc = (String) jComboBox2.getSelectedItem();

    try {
        Class.forName("com.mysql.jdbc.Driver").newInstance();
        Connection con = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:1527/production");
        {
            String host = "jdbc:mysql://localhost:1527/production";
            JOptionPane.showMessageDialog(this, "connection success");
            Statement stmt = con.createStatement();

            String query = "update PRODUCT set FACTORY='" + ab + "' PRODUCT_NAME = '" + mk + "' UNIT= '" + bc + "' and OPENING_BALANCE'" + mn + "');";
            stmt.executeUpdate(query);
            JOptionPane.showMessageDialog(this, "Record has been inserted");
            stmt.close();
        }
    } catch (Exception e) {
        JOptionPane.showMessageDialog(this, "invalid entry");
    }
} catch (Exception e) {
    JOptionPane.showMessageDialog(null, "Error in Connectivity", "Message", 2);
}

最佳答案

您的查询不正确:

  1. 您必须在字段之间使用 ,
  2. 设置字段时不需要使用 and(and OPENING_BALANCE'"+ mn + "')
  3. 查询末尾有一个右括号 ),您不需要它

但是你的方法容易出现语法错误和 SQL Inection,你必须使用PreparedStatement 来代替,它更安全,更有帮助:

query = "update PRODUCT set FACTORY = ?, PRODUCT_NAME = ?, UNIT= ?, OPENING_BALANCE = ?";
try (PreparedStatement update = connection.prepareStatement(query)) {

    update.setString(1, ab);
    update.setString(2, mk);
    update.setString(3, bc);
    update.setString(4, mn);

    update.executeUpdate();
}

关于Java derby 数据库不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45479539/

相关文章:

java - Selenium NoSuchElementException 下拉菜单

java - 计数不将光标移动到android中的位置1

java - JSP 正在下载而不是渲染

从 .txt 文件导入 MySQL

mysql - 根据不同的输入得到相同的结果

php - 在sql php中自动生成id

java - 是否可以使用 Java 截断和启用 HBase 表?

mysql - 如何将内部查询返回的值传递给外部查询

php - Laravel:如何用 Eloquent 方式表达 HAVING COUNT

mysql - 1064 - 你的 SQL 语法有错误 - Joomla 网站