读取列值时出错

时间:2012-11-22 17:54:54

标签: vb6

它与数据库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

1 个答案:

答案 0 :(得分:0)

尝试使用adOpenKeysetadOpenDynamic代替adOpenForwardOnly打开一个recrodset。看看是否有帮助。