1

我有一个函数,它接受一些参数并生成一个唯一的 varchar id 以返回给应用程序。当我从我的 java 应用程序调用该函数时,它会执行(插入数据),但是当我尝试检索 outparam 时,它会引发 SQL 异常

参数索引超出范围(1 > 参数个数,即 0)。

爪哇代码:

String sql = "{?=call mytable.myFunction (?,?,?,?,?)}";
CallableStatement tmt = sqlConn.prepareCall(sql);
         tmt.registerOutParameter(1, Types.VARCHAR);
         tmt.setString(2, firstName);
         tmt.setString(3, lastName);
         tmt.setDate(4, new java.sql.Date(dob.getTime()));
         tmt.setString(5, null);
         tmt.setString(6, null);

         tmt.execute();

         String accountNumber = tmt.getString(1);

我正在使用 Navicat 与 MySQL 一起工作,该过程在 Navicat 中执行并显示正确的返回值。但是,当我从 java 应用程序调用 tmt.getString(1) 时,它会引发上述异常。

请帮忙。谢谢你。

4

0 回答 0