2012-11-22 66 views
0

它與數據庫IBM Informix一起工作正常的應用程序...現在我們正在遷移到SQL SERVER 2012 ..並且這開始發生。讀取列值時出錯

舉個例子。

sql = "select r_e_c_n_o_, zb1_larg, zb1_verniz from " & arq("zb1") 
sql = sql & " where zb1_filial='" & filial("zb1") & "' and zb1_cod='" & dados_rotulo.b1_cod 
sql = sql & "' and zb1_revpro='" & dados_rotulo.zb1_revpro & "'" 
sql = sql & " and (d_e_l_e_t_ is null or d_e_l_e_t_ = ' ')" 
rst_zb1.Open sql, cnn_db, adOpenForwardOnly, adLockReadOnly 

如果我像下面這樣閱讀,它可以正常工作。

recno = rst_zb1.Fields!r_e_c_n_o_ ' return ok, return value: 5000 
larg = rst_zb1.Fields!zb1_larg 
verniz = rst_zb1.Fields!zb1_verniz 

如果我更改了序列,它在讀取最後一列查詢之前不會爲recno列原因返回任何值。爲什麼發生這種情況?

larg = rst_zb1.Fields!zb1_larg 
verniz = rst_zb1.Fields!zb1_verniz 
recno = rst_zb1.Fields!r_e_c_n_o_ 'return 0, it should return value: 5000 
+0

您正在使用哪個數據庫引擎? DAO,RDO,ADO? –

+0

ADO ....我更新了我的問題,詳細瞭解最新情況,請結帳。 – will

回答

0

嘗試打開一個recrodset與adOpenKeysetadOpenDynamic代替adOpenForwardOnly。看看是否有幫助。