2016-06-30 6 views
-1

Der folgende Code verwendet, um mit einer anderen Datenbank mit 4 Variablen zu laufen. aber ich bin immer Fehler diesmal ..dieser net-bohnen-code gibt "syntax fehler beim einfügen in statement" .. bitte sagen sie mir den richtigen weg

private void jButton2ActionPerformed(java.awt.event.ActionEventevt){           
    try 
    { 
     Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
     Connection con; 

     con=DriverManager.getConnection("jdbc:odbc:Database2"); 
     try (Statement stmt = con.createStatement()) { 

      String a=jTextField2.getText(); 

      String b=jTextField3.getText(); 
      String c=jTextField4.getText(); 
      String d=jTextField5.getText(); 

      String e=jTextField12.getText(); 
      String f= jTextField13.getText(); 
      String g = jTextField14.getText(); 

      int query; 
      query =stmt.executeUpdate("INSERT INTO ProductDatabase" + " (Id, Product, Price, Discount, Stock, Sold, Left)" + "VALUES('"+(a)+"','"+(b)+"','"+(c)+"','"+(d)+"','"+(e)+"','"+(f)+"','"+(g)+"')"); //insert query 

      System.out.println("inserted"); 
     } 
     con.close(); 
    } 
    catch(ClassNotFoundException | SQLException e) 
    { 
     System.err.println("Exception: "+e.getMessage()); 
    }  // TODO add your   // TODO add you 
} 
+1

Was ist der Fehler? Welche Linie? Obligatorisch "Sie sollten eine parametrisierte Abfrage verwenden". – Brad

+1

'e.printStackTrace()' wäre nützlicher als das Drucken der Nachricht nur ... – assylias

Antwort

1

LEFT ist reserved word in Access SQL, so müssen Sie diese Spaltennamen in eckigen Klammern umschließen:

INSERT ... Discount, Stock, Sold, [Left]) VALUES (...