2010-12-02 5 views
0

java.sql.SQLException: [Microsoft] [Pilote SQLServer 2000 pour JDBC] [SQLServer] Procédure 'STP_Insert_tblReceipt' attend le paramètre '@CPVFlag', qui n'a pas été fourni.Erreur de procédure JAVA

J'obtiens erreur à ce point lorsque vous essayez d'appeler la procédure ... Tout est parfait ,,, Nombre de points d'interrogation sont semblables au paramètre fourni

cs = conn.prepareCall("{call STP_Insert_tblReceipt(?,?,?, ?,?,?, ?,?,?, ?,?,?, ?,?,?, ?,?,?, ?,?,?, ?,?,?, ?,?,?)}"); 
// cs = conn.prepareCall("{call STP_Receipt_Form_Insertion_Trial(?,?,?, ?,?,?, ?,?,?, ?,?,?, ?)}"); 
cs.setLong(1, Long.parseLong(txtMobileNo.getText())); 
cs.setString(2, String.valueOf(cboDistributor.getSelectedItem())); 
cs.setLong(3, Long.parseLong(txtBoxNo.getText())); 
cs.setInt(4, Integer.parseInt(txtFileNo.getText())); 
cs.setString(5, pickUp_date); 
cs.setString(6, rec_date); 
cs.setString(7, String.valueOf(cmbCtrlNo.getSelectedItem())); 
cs.setString(8, UserName); 
cs.setString(9, rec_date); 
cs.setString(10, RegionLocation); 
cs.setString(11, txtRemark.getText().trim()); 
cs.setString(12, txtSimNo.getText().trim()); 
cs.setInt(13, 2); 
cs.setString(14, String.valueOf(cmbAryanRegion.getSelectedItem())); 
cs.setString(15, String.valueOf(cboPickUpType.getSelectedItem())); 
cs.setString(16, String.valueOf(txtCafNo.getText())); 
cs.setString(17, distributorId); 
//cs.setString(18, circleName); 
cs.setString(18, cboCircle.getSelectedItem().toString()); 
cs.registerOutParameter(19, java.sql.Types.INTEGER); 
cs.setString(20, auditorName); 
cs.setString(21, retailerName); 
cs.setString(22, retailerCode); 
cs.setInt(23, mappedFlag); 
//cs.setString(24, distCode); 
cs.setString(24, cboDistCode.getSelectedItem().toString()); 
//cs.setString(25, zoneName); 
cs.setString(25, cboZone.getSelectedItem().toString()); 
cs.setString(26, comment); 
**cs.setInt(27, 1);** **this is for CPV Flag** 

Après cette cs.execute() ;

+1

Quelle est l'erreur que vous recevez? –

+0

Il semble qu'il vous manque un paramètre dans la liste '?' ... –

+0

Veuillez écrire la signature de la procédure stockée SQL pour notre référence. –

Répondre

0

Veuillez ajouter la définition du proc avec la liste de paramètres SQL. Vérifiez le proc, très probablement l'erreur est à:

cs.registerOutParameter(19, java.sql.Types.INTEGER); 

La variable peut être un paramètre in-out.