这是一个很实际的问题,先说一下我的测试代码,VB环境
DBstr = "select * from UserInfo where UserID='" & UsrID & "'"
check.Open DBstr, DBCnn, adOpenStatic, adLockReadOnly
re(0) = check.RecordCount
check.Close
check.Open DBstr, DBCnn, adOpenDynamic, adLockReadOnly
re(1) = check.RecordCount
check.Close
check.Open DBstr, DBCnn, adOpenForwardOnly, adLockReadOnly
re(2) = check.RecordCount
check.Close
check.Open DBstr, DBCnn, adOpenKeyset, adLockReadOnly
re(3) = check.RecordCount
check.Close
MsgBox re(0) & "*" & re(1) & "*" & re(2) & "*" & re(3)
结果: 1 * -1 * -1 * 1
这个返回结果对于需要使用如下语句进行判断很关键:
If check.RecordCount <= 0 Then
MsgBox "Error 1"
check.Close
Exit Sub
Else
分析:首先肯定上述SQL肯定的一致性,并且获得了一条结果,但是返回值却是不同。之所以这样,还是看看专业的文章,我也消化一下,下次再进一步分析。