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
答案 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,""])