Private Sub Command1_Click() Adodclogin.Recordset.MoveFirst
Dim found As Boolean
found = False
Adodclogin.Refresh
Dim id As String
id = Trim(Text1)
Dim passedword As String
passedword = Trim(Text2)
Dim i%
For i = 0 To Adodclogin.Recordset.RecordCount
If Adodclogin.Recordset.Fields(0) = id And Adodclogin.Recordset.Fields(1) = passedword Then
found = True
Else
Adodclogin.Recordset.MoveNext
End If
Next i
If found = True Then
Unload Me
'载入自己的窗口
Else
MsgBox "名称和密码不正确!", vbCritical, "错误"
End If
End Sub
Dim found As Boolean
found = False
Adodclogin.Refresh
Dim id As String
id = Trim(Text1)
Dim passedword As String
passedword = Trim(Text2)
Dim i%
For i = 0 To Adodclogin.Recordset.RecordCount
If Adodclogin.Recordset.Fields(0) = id And Adodclogin.Recordset.Fields(1) = passedword Then
found = True
Else
Adodclogin.Recordset.MoveNext
End If
Next i
If found = True Then
Unload Me
'载入自己的窗口
Else
MsgBox "名称和密码不正确!", vbCritical, "错误"
End If
End Sub
Adodclogin.Refresh
加了这句后错误是 没指定记录源数据源我是用 SQL server 2005 做的,连接测试都通过
Adodclogin.recordsource=....
然后才
Adodclogin.Refresh
但有一点不明白,我调试时发现 Adodclogin.Recordset.RecordCount =2 (我数据库就只有2个记录) ,那是不是意味这下面的循环 i 的初始值该为1?
For i = 0 To Adodclogin.Recordset.RecordCount
或者For i = 1 To Adodclogin.Recordset.RecordCount
只要控制循环次数别超过记录总数就行,否则到了记录的底部再MoveNext就出错了。