2015-12-21 128 views
1

我的代码:SQL语法错误

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'. 

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

+0

删除最后一个','在''“+ Premija +”',' –

回答

1

你的右括号之前删除逗号:

Premija+"',)"; 

成为

Premija+"')"; 

除了不要用手构建查询,除非你想成为容易受到SQL注入攻击:使用PreparedStatement

+0

你告诉我是对的。 –