groovy sql选择数组语句

时间:2015-01-21 10:22:07

标签: jdbc groovy

 def aa=colarray.join(',')
                        println aa
                        sql.eachRow("select col01,$aa from read_csv where col01=? and col${usercol}!=? ", [file.name,""])


                    }

我试图将col名称保存到colarray中并在select statment中调用它,但我得到的错误就像跟随

URI /跑道/ readUserRole /索引

类 groovy.lang.MissingMethodException

信息 没有方法签名:groovy.sql.Sql.eachRow()适用于参数类型:(org.codehaus.groovy.runtime.GStringImpl,java.util.ArrayList)值:

[select col01,col03,col04,col05,col06,col07,col08,col09,col10,col11,col12,col13,col14,col15,col16,col17,col18,col19,col20,col21,col22,col23,col24 ,col25,col26,col27,col28,col29,col30,col31,col32,col33来自read_csv,其中col01 =?和col02!=? ,...]

可能的解决方案:eachRow(groovy.lang.GString,groovy.lang.Closure),eachRow(java.lang.String,groovy.lang.Closure),eachRow(groovy.lang.GString,groovy.lang.Closure, groovy.lang.Closure),eachRow(java.lang.String,groovy.lang.Closure,groovy.lang.Closure),eachRow(java.lang.String,java.util.List,groovy.lang.Closure),eachRow (java.lang.String,java.util.Map,groovy.lang.Closure)

那我应该怎么解决呢??? THX

1 个答案:

答案 0 :(得分:0)

也许只是尝试改变:

sql.eachRow("select col01,$aa from read_csv where col01=? and col${usercol}!=? ", [file.name,""])

为:

sql.eachRow("select col01,$aa from read_csv where col01=? and col${usercol}!=?".toString(), [file.name,""])