【问题标题】:JAVA Procedure ErrorJAVA 程序错误
【发布时间】:2010-12-02 04:55:53
【问题描述】:

java.sql.SQLException:[Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]过程“STP_Insert_tblReceipt”需要参数“@CPVFlag”,但未提供。

此时我在尝试调用过程时遇到错误... 一切都很完美,,,问号数与提供的参数相似

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**

在此之后 cs.execute();

【问题讨论】:

  • 您收到的错误是什么?
  • 看起来您在? 列表中缺少一个参数...
  • 请贴出SQL存储过程的签名供我们参考。
  • java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]Procedure 'STP_Insert_tblReceipt' 需要参数 '@CPVFlag',但未提供......这是错误

标签: java sql-server jdbc


【解决方案1】:

请使用 SQL 参数列表添加 proc 的定义。 检查proc,很可能错误在:

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

变量可以是输入输出参数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-15
    • 2013-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多