2016-06-29 25 views
0

Ich versuche, Daten eingegeben vom Benutzer in SQL Server-Tabelle mit dem folgenden Code eingeben, der Code läuft ohne Fehler, aber Daten werden nicht eingefügt.Dateneinfügung in SQL Server-Tabelle mit jtextfield in Netbeans

try { 
    Class.forName(driver); 
    Connection con=DriverManager.getConnection(url, user, pass); 
    String sql="insert into inventory" 
       +"(Product_Code,Product_Name,Quantity,Cost)" 
       +"value(?,?,?,?)"; 
    PreparedStatement pst=con.prepareStatement(sql); 
    pst.setString(1, product_code.getText()); 
    pst.setString(2, product_name.getText()); 
    pst.setString(3, quantity.getText()); 
    pst.setString(4, price.getText()); 
    pst.executeUpdate(); 
    JOptionPane.showMessageDialog(this, "entry successful");  
}          
catch(ClassNotFoundException | SQLException | HeadlessException e){ 
    JOptionPane.showMessageDialog(this, "entry successful"); 
} 
+0

'Menge, Kosten' ->' getText() '? versuche, in integer/float zu konvertieren – gofr1

+0

noch nicht in der Lage, Zeilen einzufügen –

+0

Was genau übertriffst du in diesen Parametern? Können Sie eine Datenprobe zeigen? – gofr1

Antwort

0

Syntaxfehler in der unten INSERT Skript:

String sql="insert into inventory" 
      +"(Product_Code,Product_Name,Quantity,Cost)" 
      +"value(?,?,?,?)"; 

Typo im value( es values( sein sollte, so wird Ihr Code sein:

String sql="insert into inventory" 
     +" (Product_Code, Product_Name, Quantity, Cost)" 
     +" values (?, ?, ?, ?)"; 
+0

noch nicht in der Lage, Werte in die Tabelle einzufügen –

0

Basierend auf Kommentare ich Ihnen vorschlagen um diesen Code auszuprobieren:

String url = "jdbc:sqlserver://localhost:1433;databaseName=YourDBName;integratedSecurity=false;user=MyUserName;password=*****;"; 

try { 
    Class.forName(driver); 
    Connection con=DriverManager.getConnection(url); 

    if (con!= null) { 
     System.out.println("Connected"); 
    } 

    String sql="insert into inventory" 
       +" (Product_Code,Product_Name,Quantity,Cost)" 
       +" values (?,?,?,?)"; 
    PreparedStatement pst=con.prepareStatement(sql); 
    pst.setString(1, product_code.getText()); 
    pst.setString(2, product_name.getText()); 
    pst.setInt(3, Integer.parseInt(quantity.getText())); 
    pst.setFloat(4, Float.parseFloat(price.getText())); 

    int rowsInserted = pst.executeUpdate(); 
    if (rowsInserted > 0) { 
     System.out.println("A new row was inserted successfully!"); 
    } 

    JOptionPane.showMessageDialog(this, "entry successful");  
}          
catch(ClassNotFoundException | SQLException | HeadlessException e){ 
    JOptionPane.showMessageDialog(this, "entry successful"); 
} 
+0

Fehler "Dereferenzierung möglichen Nullzeiger" wird in der Zeile "PreparedStatement pst = con.prepareStatement (sql);" –

+0

So wurde Verbindung hergestellt? Haben Sie die Nachricht "Verbunden" erhalten? – gofr1

+0

Und ich änderte 'url' Sie müssen DB Name Benutzer und Passwort ändern. – gofr1