现在Do循环有两种形式第一种是在执行循环内容之前检查条件如
Do While rdrRead()
loop contents
Loop
在这种情况下Do循环与While循环类似在条件为真时循环一直继续这与Until语句的用法相反在Until语句中循环一直执行直到条件为真时中断
Do Until condition
loop contents
Loop
刚刚介绍的While和Do循环都在循环开始之前检查条件这表示循环的代码段可能不会被执行为了保证至少执行一次可以使用判断条件在最后的Do循环
Do
loop contents
Loop While condition
或者可以使用Until语句代替While语句
Do
loop contents
Loop Until condition
由于在第一次执行循环内容之后才检查判断条件因此这种循环并不适用于数据读取器的使用例如您不能实现以下操作
Do
If rdr(ItemCost)< Then
Exit While
End If
Loop While rdrRead()
尽管该代码完全合法但是只有在调用了Read之后代码才不会出错原因在于在第一次打开数据读取器时它并不是指向第一条记录而是指向第一条记录之前因此调用Read将移动到第一条记录在前面这个代码中在没有调用Read之前访问rdr(ItemCost)的操作将会失败因为没有合法记录
[] [] [] [] [] [] [] []