我在以下代码中遇到上述错误。请帮助我解决此问题。
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);
}
}
答案 0 :(得分:1)
您的查询具有6个参数(SQL中为6个?
),但您仅设置了3个(使用setString()
方法)。
您需要将所有6都设置为避免此异常。