首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我的java程序的SQL语法错误

我的java程序的SQL语法错误
EN

Stack Overflow用户
提问于 2015-12-21 22:18:53
回答 1查看 46关注 0票数 1

我的代码:

代码语言:javascript
复制
try{ Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/lentele", "root", "");
String select = "SELECT * FROM darbuotojai WHERE 1";

    String ID = infoID.getText();
    String Vardas = infoV.getText();
    String Pavardė = infoP.getText();
    String Pareigos = infoPar.getSelectedItem().toString();
    String Alga = infoAlg.getText();
    String Premija = infoPre.getText();

    String insert = "INSERT INTO `darbuotojai`(`ID`, `Vardas`, `Pavardė`, `Pareigos`, `Alga`, `Premija`) VALUES ('"+ID+"','"+Vardas+"','"+Pavardė+"','"+Pareigos+"','"+Alga+"','"+Premija+"',)";


        stm.executeUpdate(insert);
        JOptionPane.showMessageDialog(null, "Užklausa sėkminga");
        infoID.setText("");
        infoV.setText("");
        infoP.setText("");
        infoPar.setSelectedItem("");
        infoAlg.setText("");
        infoPre.setText("");

        display();
    } catch (Exception e) {JOptionPane.showMessageDialog(null, e.getMessage()); }

我得到的错误如下:

代码语言:javascript
复制
you have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1.
And ones more: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Access denied for user ''@'localhost' to database 'lentele'.

请以最简单的方式为初学者解释这些问题。此代码用于add按钮,这将有助于将信息插入到我的表中。

EN

回答 1

Stack Overflow用户

发布于 2015-12-21 22:29:59

删除右括号前的逗号:

代码语言:javascript
复制
Premija+"',)";

变成了

代码语言:javascript
复制
Premija+"')";

除了不要手动构建查询之外,除非您想要易受SQL注入攻击:使用PreparedStatement

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34397804

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档