小编典典

java.sql.SQLException:参数号2不是OUT参数

java

运行此程序时出现错误:

1. cs = getCon1().prepareCall("{CALL SaveLabourWageDetails(?,?)}");

2. cs.setString(1, user.getUserId());

3. cs.registerOutParameter(2, java.sql.Types.INTEGER); //<--- ERROR at this line

4. cs.execute();

5. String lastIsertId=cs.getString(2);

存储过程为:

CREATE

    PROCEDURE `cheque_alert`.`SaveLabourDetailsHead`(IN wage_entered_by VARCHAR(10),OUT LastInsertId INT)

    BEGIN
    INSERT INTO `cheque_alert`.`labour_wage_head`
            (
             `wage_entered_by`,
             `entered_date_time`)
    VALUES (wage_entered_by,
         NOW());

          SELECT LAST_INSERT_ID() INTO LastInsertId;

    END$$

DELIMITER ;

请指出此代码中的问题。


阅读 303

收藏
2020-11-30

共1个答案

小编典典

您正在调用错误的过程。您有程序SaveLabourDetailsHead,正在打电话

1. cs = getCon1().prepareCall("{CALL SaveLabourWageDetails(?,?)}");  
                                         ↑

改成,

1. cs = getCon1().prepareCall("{CALL SaveLabourDetailsHead(?)}");

设置String参数wage_entered_by

2020-11-30