gpt4 book ai didi

vbscript - 为什么 recordset.RecordCount 等于 1 但 recordset.EOF 和 recordset.BOF 都等于 True

转载 作者:行者123 更新时间:2023-12-02 06:44:08 26 4
gpt4 key购买 nike

我有一个非常简单的查询,它只返回一条记录。当我尝试从唯一记录中的唯一列中获取值时,我得到“BOF 或 EOF 为真,或者当前记录已被删除。请求的操作需要当前记录。”这里发生了什么?如果 RecordCount 为 0,则导致错误的代码甚至不会执行,而且我已验证记录集确实包含一条记录。

代码如下。尝试设置 strDN 时抛出错误。它非常简单,但我不知道哪里出错了。

编辑以包含命令

<LDAP://DC=something,DC=com>;(&(objectCategory=person)(objectClass=user)(!userAccountControl:1.2.840.113556.1.4.803:=2)(employeeID=01234567));distinguishedName;subtree

Set adoRecordset = adoCommand.Execute


If adoRecordset.RecordCount > 0 Then


strDN = adoRecordset.Fields("distinguishedName").Value

Set objUser = GetObject("LDAP://" & strDN)

objGroup.add(objUser.ADsPath)

End if

最佳答案

recordcount 属性将游标留在记录集的末尾,因此您无法再获取记录(eof=true),必须先移动。使用不同的游标类型,因为默认游标类型仅向前:

'' Assign cursorType that allows forward and backward movement.
adoRecordset.cursorType = 3 ''adOpenStatic

参见 https://www.w3schools.com/asp/prop_rs_cursortype.asp

关于vbscript - 为什么 recordset.RecordCount 等于 1 但 recordset.EOF 和 recordset.BOF 都等于 True,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3143540/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com