我的代码:
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()); }
我得到这样的错误:
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'.
请用最简单的方式为初学者解释这些问题。 此代码用于添加按钮,这有助于将信息插入到我的表格中。
最佳答案
删除右括号前的逗号:
Premija+"',)";
成为
Premija+"')";
除非您不想受到 SQL 注入(inject)攻击,否则不要手动构建查询:使用 PreparedStatement
.
关于java - 我的 java 程序的 SQL 语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34397804/