com.microsoft.sqlserver.jdbc.SQLServerException:未为参数编号4设置值

时间:2018-07-08 04:14:05

标签: java sql-server netbeans-8

我在以下代码中遇到上述错误。请帮助我解决此问题。

private void But_AddIncomeActionPerformed(java.awt.event.ActionEvent evt) {                                              
    // TODO add your handling code here:
    try{
        Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
        String url="jdbc:sqlserver://localhost:1433;databasename=DB_Project;user=User;Password=password";
        Connection con= DriverManager.getConnection(url);
        String query = "insert into tbl_Reg(FullName,CNIC,Email_Address,Pswd,Adrs,PhoneNo)values(?,?,?,?,?,?)";
        PreparedStatement pst=con.prepareStatement(query);
        pst.setString (1,((JTextField)DateChooser.getDateEditor().getUiComponent()).getText());
        pst.setString(2,Amnt_TF.getText());
        pst.setString(3,Src_TF.getText());
        pst.execute();
        JOptionPane.showMessageDialog(null,"Income Detail Updated");
    }
    catch(Exception e){
        JOptionPane.showMessageDialog(null,e);
    }
}  

1 个答案:

答案 0 :(得分:1)

您的查询具有6个参数(SQL中为6个?),但您仅设置了3个(使用setString()方法)。 您需要将所有6都设置为避免此异常。