2
sql.call '{call abcsd_chk(?, ?, ?, ? ,?)}', ['abc1212', '123123','234234', Sql.VARCHAR, Sql.VARCHAR], { result -> println result }

访问参数时出错,

its.HomeController$_closure83_closure112.doCall() 方法的签名不适用于参数类型:(java.lang.String, java.lang.String)

可能的解决方案:doCall(java.lang.Object), call(), call([Ljava.lang.Object;), call(java.lang.Object)

无法得到错误,

执行过程后如何迭代输出参数

4

1 回答 1

1

你不是在那里定义了两个输出参数吗?

闭包不应该将它们都作为参数吗?

def stmt = '{call abcsd_chk(?, ?, ?, ? ,?)}' 
def params = ['abc1212', '123123','234234', Sql.VARCHAR, Sql.VARCHAR]
sql.call stmt, params, { result1, result2 ->
  println result1
  println result2
}
于 2012-07-12T13:57:12.040 回答