我在Java代码中调用一个存储过程,它使用Sybase数据库如下:的Java存储过程不执行
CallableStatement cstmt=sigmaConnection.prepareCall("{call dbo.sp_insRadEntry(?, ?, ?, ?, ?, ?, ?)}");
cstmt.setString(1,"Nappa");
cstmt.setInt(2,40);
cstmt.setString(3,"Vegeta");
cstmt.setString(4,"Saiyan");
cstmt.setString(7,"Hello");
cstmt.execute();
正如你可以看到我有故意不设置第5和第6个参数作为我的存储过程具有默认值,如果任何值没有通过,并在此调用dbo.sp_insRadEntry(?,?,?,?,?,?,?)我有7个参数,因为它不允许我设置第7个参数没有在这里有7个逗号。
但我发现了以下异常,即使我已经设置了4个参数:
“值java.sql.SQLException:JZ0SA:准备语句:未设置输入参数,指数:4”
您可以发布CREATE PROCEDURE语句的顶部(与变量,默认值等) – Hotel