ado读oracl数据库,读到最后一条再往下movenext就报错,为什么啊。如果我数据库里没有long型就不会出错,问题是我这个long型的必须有,而且不能改变类型?我有什么办法可以判断我读到最后一条了伐?
我用的是adoRS.Open strSQL, adoConnection, adOpenDynamic, adLockOptimistic,可以修改这些参数来解决问题么?高手救命!

解决方案 »

  1.   

    do while not adors.eof
    .....
    loop
      

  2.   

    我是这么写的
    while not rs.eof
     ......
     rs.movenext
    wend当最后一条纪录的时候,执行movenext就会出错,
    这个和long型字段有关系吧。如果我去掉long的那个就没这个问题。奇怪中
      

  3.   

    可以先得到dbrecrodset 的 count ,然后做个循环遍历
    dbrecordset.movefirst
    for i = 0 to dbrecordset.count
        .......
    next i
    dbrecordset.movenext
      

  4.   

    在sql plus中执行你的strSQL的sql语句,有错误吗?
      

  5.   

    首先,我如果用adOpenDynamic无法取到recordcount
    其次我也无法遍历,因为当走到最后一条再movenext的话,就会出错,以上说的是包括long字段的情况下,这个long是oracle的字段类型,不是数值型的long
      

  6.   

    sql plus中完全可以
    因为这是纯oracle的环境
    用ado就又问题
      

  7.   


    rs.movefirst
     For i = 0 To Rs.RecordCount     ''''''
        Rs.MoveNext
     Next
      

  8.   

    on error resume next
    反正已经到最后了,没有数据了。