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


        } 

我試圖山坳名稱保存到colarray並調用它在選擇statment,但我得到埃羅像下面常規SQL SELECT數組聲明

URI /賽馬場/ readUserRole /指數

類 groovy.lang.MissingMethodException

消息 方法的無簽名:groovy.sql.Sql.eachRow()是適用於參數類型:(org.codehaus.groovy.runtime.GStringImpl,java.ut il.ArrayList)值:

[選擇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 from read_csv where 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

也許只是嘗試改變:

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