2013-01-13 70 views
-1

我在con = createConnection()獲得語法錯誤;在NetBeans IDE中,我想插入記錄到MySQL數據庫。怎麼能糾正這個?java mysql插入語法錯誤

private void btnlogActionPerformed(java.awt.event.ActionEvent evt) {          

     user=txtuser.getText(); 
     char[] pass=jPasswordField1.getPassword(); 
      String passString=new String(pass); 
      **![con =createConnection();][1]** 
      try{  

String str="INSERT INTO login(username,Password) VALUES ('" + user + "','" + passString + "')"; 
java.sql.PreparedStatement statement=con.prepareStatement(str); 
statement.setString(1,user); 
    statement.setString(2,passString); 
statement.executeUpdate(); 
      } 
      catch(Exception e){ 
       JOptionPane.showMessageDialog(null,"Exception: "+ e.toString()); 
      } 

public static void main(String args[]) { 
try { 
      Class.forName("com.mysql.jdbc.Driver"); 
      String connectionUrl = "jdbc:mysql://localhost/Stock?"+ 
            "user=root&password="; 
      Connection con = DriverManager.getConnection(connectionUrl); 

     } catch (SQLException e) { 
      JOptionPane.showMessageDialog(null,"SQL Exception: "+ e.toString()); 
     } catch (ClassNotFoundException cE) { 
      JOptionPane.showMessageDialog(null,"Class Not Found Exception: "+ cE.toString()); 
     } 

回答

0

con什麼是con和你有createConnection()靜態方法,會給你連接嗎?

con =createConnection(); 

如果您正在使用PreparedStatement,參數設置,你應該在查詢佔位這樣

String str = "INSERT INTO login(username,Password) VALUES (?, ?)"; 
+0

沒有。請幫助我如何去做。 – user1966589

+0

請幫助我。我想在按鈕單擊事件中插入記錄。 – user1966589

+0

http://docs.oracle.com/javase/tutorial/jdbc/basics/prepared.html –

0

試試這個,

String str="INSERT INTO login(username,Password) VALUES (?,?)"; 
java.sql.PreparedStatement statement=con.prepareStatement(str); 
statement.setString(1,user); 
statement.setString(2,passString); 
statement.executeUpdate();