2014-03-05 60 views
0

在我的Lotus Notes腳本中,我確實有這樣的邏輯,如下所示。這基本上是針對兩個SELECT語句,其次是針對每個SELECT語句分別進行提取,而SELECT針對的是具有WHERE子句中的變體的同一個DB2表。我得到的錯誤是第二次FETCH。我得到的錯誤是--->字段計數不匹配錯誤:Lotus Notes腳本錯誤:字段計數不匹配

count = 0 
If (srccon.Execute(selectstatement, fldLst1) = 0) Then 
    Goto GetNextDoc 
End If 
count = srccon.Fetch(fldLst1) 
If (count = 0) Then 
    Goto GetNextDoc 
End If 

上面的光標選擇和獲取不會給我任何錯誤。

光標下降,這是與在WHERE子句導致錯誤的輕微變化 相同的DB2表:

count1 = 0 
If (srccon.Execute(selectstatement1, fldLst) = 0) Then 
    Goto GetNextDoc 
End If 
count1 = srccon.Fetch(fldLst) ---> The error is pointing to this line 
            and the error is 

我希望在這方面的任何幫助。我還要感謝那位先生,他爲我當前日期減去30天的問題做了出色的解決方案。

有了太多的感謝

+0

selectstatement,fldLst1,selectstatement1和fldLst的值是什麼? –

+0

selectstatement是SELECT *從TABLE A WHERE A = B和selectstatement1是SELECT *從TABLE A WHERE A = C。我在這裏要說的是SELECT語句很簡單,從WHERE條件中的小改變的同一個表中選擇。 fldLst1 =來自TABLE A的列的列表和fldLst =來自TABLE A的列的列表 – user3328120

+0

看起來它不喜歡fldLst的一些東西。您是否嘗試過使用fldLst1進行這兩個查詢? –

回答

0

我懷疑這是因爲當你調用執行,你從以前的調用重用相同LCFieldList對象。執行和選擇語句附加結果字段的列表到您傳遞它們的對象,因此您必須將它們傳遞給一個空的字段列表 - 您剛創建的字段列表。否則,您會將多個調用的結果集中所有字段的組合字段列表顯示爲選擇或執行。 您可能會發現this Redbook的LotusScript章節有用。

+0

是的,它沒有爲兩個查詢使用fldLst1。我會試着看看你提供的紅皮書。但如果你有任何解決方案,請讓我知道。謝謝安德烈。 – user3328120

+0

我剛纔查看了RedBook的Lotus腳本,它確實給出了關於各種sqls使用情況的一般信息,但並未回答我對同一個表重複使用同一個SELECT語句兩次的問題。 – user3328120