2016-06-30 8 views
-1

4つの変数を持つ別のデータベースで実行するために使用される次のコードを教えてください。しかし、私はエラーにこの時間を取得しています。..このネット豆コードは「INSERT INTOステートメントの構文エラー」を与える..親切に私に正しい方法

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

エラーは何ですか?どの行?義務的な「あなたはパラメータ化されたクエリを使うべきです」提案。 – Brad

+1

'e.printStackTrace()'はメッセージのみを出力するよりも便利です... – assylias

答えて

1

LEFTあなたは角括弧でその列名を囲む必要があるので、アクセスSQLでreserved wordです:

INSERT ... Discount, Stock, Sold, [Left]) VALUES (... 
関連する問題