用 ado select db2 database 發生 "如果物件已關閉,就無法繼續操(編號:2659)

小弟寫一個程式類似 ACCESS 的查詢設計視窗,讓使用者自行挑
選欄位,然後從 IBM DB2 DATABASE 選取符合條件的資料,結果
遇到一個問題,每次只要選擇的欄位多一些,程式跑到 if not
rs.eof then 那行時就出現"如果物件已關閉,就無法繼續操作"
的錯誤,我試著把 Timeout 設長一點就可以了,但是當欄位再多
一些時(十幾個),我把 Timeout 設到 999999999 時也沒用,我
用相同的語法到 access 上跑都沒問題.百思不得其解,不知道
有沒有人有相同的問題,小弟將程式片段列在下面,請大家幫忙
指點,謝謝!
我的系統是 NT service pack 4,VB6(未 run 過 service pack)
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim sqlstr as string
Set cn = New ADODB.Connection
cn.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;UID=user;PWD=user;Data Source=DB2DB"
cn.ConnectionTimeout = 999999999
cn.Open
sqlstr="select.........."
Set rs = New ADODB.Recordset
rs.Open SqlStr, cn, adOpenStatic, adLockReadOnly
if not rs.eof then