2015-01-21 44 views
-2
def colarray=[] 
        def num 
        def newRole = rolecol.split(',') 
        def len = newRole.size() 
        println "$newRole,$len" 
        for (num = 0; num < len; num++) { 
         def col = "col" 
         col="$col"+newRole[num] 
         colarray.add(col) 

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

我想保存col1..col11到数组,并从select语句调用它,但问题是,$ colarray有它的括号(如[col03,col04,col05,col06, col0,col10,col09,col10,col11,col12,col13,col14,col15,col16,col17,col18,col19,col20,col21,col22,col23,col24,col25,col26,col27,col28,col29,col30,col31,所以现在我想删除它们,任何人都可以帮助它??? thx常规阵列中的括号去掉

回答

0

[]在那里,因为你正在做一个隐含的toString在列表上。使用colarray.join(',')

+0

感谢会尝试 – 2015-01-21 10:10:54

+0

高清AA = colarray.join( '') 的println AA // sql.eachRow( “选择COL01,从read_csv其中COL01 =?和col $ {} usercol!=?$ AA”,[file.name “”]) 您好我编辑它这样,但得到错误,请查看下面的注释 – 2015-01-21 10:14:22

0
def colarray = rolecol.tokenize(',').collect { "col$it" }.join(', ') 

然后你还需要逃避你的SQL:

sql.eachRow("select col01, ${Sql.expand(colarray)} from read_csv where col01 = ? and ${Sql.expand('col' + usercol)} != ? ", [file.name,""]) 
+0

THX会试试吧.. – 2015-01-21 10:11:50

+0

嗨我试过了,但得到与我的代码相同的错误信息..请检查我的答案..如果你可以再帮助thx – 2015-01-21 10:16:34