2016-06-29 1 views
0

아래 코드를 사용하여 SQL Server 테이블에 사용자가 입력 한 데이터를 삽입하려고하면 오류없이 코드가 실행되지만 데이터가 삽입되지 않습니다.netbeans에서 jtextfield를 사용하여 SQL Server 테이블에 데이터 삽입

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

'수량, 비용'->'getText()'? 정수/부동 소수점으로 변환하려고 시도하십시오 – gofr1

+0

여전히 행을 삽입 할 수 없습니다 –

+0

정확히 매개 변수를 전달합니까? 샘플 데이터를 보여줄 수 있습니까? – gofr1

답변

0
아래 INSERT 스크립트

구문 오류 : value(

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

오타가가, values(해야한다 그래서 코드는 다음과 같습니다 논평을 바탕으로

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

여전히 테이블에 값을 삽입 할 수 없습니다. –

0

내가 당신을 제안 이 코드를 사용해보십시오 :

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

"de reference for null pointer"오류가 "PreparedStatement pst = con.prepareStatement (sql);"줄에 표시됩니다. –

+0

그래서 연결이 설정 되었습니까? '연결됨'메시지를 받았습니까? – gofr1

+0

그리고'url'을 변경하여 DB 이름 사용자와 암호를 변경해야합니다. – gofr1

관련 문제