2011-03-31 22 views
0

我使用groovy的SQL查詢函數和MarkupBuilder來編寫xml文件。過去我一直沒有這樣做過,但是這次有一個錯誤將我推上了牆。下面是相關代碼:Groovy給列表引用致電()錯誤參考

xml.table() { 
    column { 
     dataType('string') 
     label('Month') 
    } 
    def numResults = 6 

    vals = [] 
    names = [] 
    def i = 0 
    for(i=0;i<numResults;i++){ 
     resultset.next() 
     vals += resultset.getObject(2) 
     names += resultset.getObject(3) 
     column { 
      dataType('number') 
      label(resultset.getObject(3)) 
     } 
    } 
    row { 
     month(resultset.getObject(1)) 
     for(i=0;i<numResults;i++){    
      names[i](vals[i]) 
     } 
    } 

但是當它到達瓦爾斯[I]在第二個for循環,我得到以下錯誤:

groovy.lang.MissingMethodException: No signature of method: java.lang.String.cal 
l() is applicable for argument types: (java.lang.Long) values: [55] 
Possible solutions: wait(long), wait(), any(), wait(long, int), each(groovy.lang 
.Closure), any(groovy.lang.Closure) 

僅供參考此處引用的「55」是第二列中的第一個值添加到此行中的列表中:vals += resultset.getObject(2)

有人,有什麼想法發生了什麼?我已經使用了一百次這樣的清單,就像這樣零故障。更何況,在「名稱」列表功能順利...

回答

1

無論resultset是,resultset.getObject(3)正在恢復其要添加到您的列表names一個字符串,然後你正在嘗試把這個String像功能,傳遞參數42

不知道你想要做什麼,沒有工作的例子,很難提出一個修正

+0

你說得對,我是越來越遙遙領先自己的,使左右的大的假設在markupBuilder中格式化 – Yottagray 2011-03-31 14:47:53