vb 数据库 这样写为什么总是出错?

来源:百度知道 编辑:UC知道 时间:2024/05/06 18:58:28
Form1.Adodc1.CursorType = adOpenDynamic
Form1.Adodc1.CommandType = adCmdText '将Source作为命令
Form1.Adodc1.RecordSource = "SELECT * FROM shinegoo where 时间 like '%" & Sts & "%'"
Form1.Adodc1.Refresh
Form1.ListView1.ListItems.Clear
i = 0
Do While i <= Form1.Adodc1.Recordset.RecordCount
Module1.inbiao Form1.Adodc1.Recordset.Fields(0), Form1.Adodc1.Recordset.Fields(1)
Form1.Adodc1.Recordset.MoveNext '''是这一句出错了!!!!!
i = i + 1
Loop

Form1.Adodc1.CursorType = adOpenDynamic
Form1.Adodc1.CommandType = adCmdText '将Source作为命令
Form1.Adodc1.RecordSource = "SELECT * FROM shinegoo where 时间 like '%" & Sts & "%'"
Form1.Adodc1.Refresh
Form1.ListView1.ListItems.Clear
i = 1
n=Form1.Adodc1.Recordset.RecordCount'指针至尾
Form1.Adodc1.Recordset.Movefirst'重置指针
Do While i <= n
Module1.inbiao Form1.Adodc1.Recordset.Fields(0), Form1.Adodc1.Recordset.Fields(1)
if i<n then Form1.Adodc1.Recordset.MoveNext
i = i + 1
Loop
--------------------------------------------------
n=Form1.Adodc1.Recordset.RecordCount
此句使指针移至结尾。需要使指针重新指向第一个。
其实常用的方法是;
Do While Not Form1.Adodc1.Recordset.EOF
....
Loop

移到最后一行了,再往下移就出错了

在Form1.Adodc1.CursorType = adOpenDynamic上面加一句
On Error Resume Next
问题解决

Do While i <= Form1.Adodc1.Recordset.RecordCount
改为
Do While For