2012-07-12 143 views
1
sql.call '{call abcsd_chk(?, ?, ?, ? ,?)}', ['abc1212', '123123','234234', Sql.VARCHAR, Sql.VARCHAR], { result -> println result } 

得到错误的访问输出参数,无法访问out参数在常规执行存储过程

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

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

并没能得到错误,

如何遍历程序执行后的输出参数

回答

0

你不是定义两个输出参数呢?

闭合不应该把它们作为参数吗?

def stmt = '{call abcsd_chk(?, ?, ?, ? ,?)}' 
def params = ['abc1212', '123123','234234', Sql.VARCHAR, Sql.VARCHAR] 
sql.call stmt, params, { result1, result2 -> 
    println result1 
    println result2 
} 
+0

Thanks @tim_yates got the thing :) – praveen2609 2012-07-12 14:02:33