recordset.close错了帮助plssss

时间:2014-03-10 07:06:42

标签: vb6 vb6-migration

帮助我的代码出错了它说:

BOF或EOF为True,或者当前记录已被删除,请求的操作需要当前记录。

我认为这个rs.close有问题或者我在哪里可以设置rs.close?因为我设置并使用了两次记录集。 谁有人可以帮忙?请修改我的代码。



Public Function borrowersName(ByVal Iname, ByVal Imod, ByVal Icat, ByRef BFname, ByRef BLname) As Boolean

Dim dateReturned As String

'select firt the primary key of the item
qry1 = "select tblitem_id from tblitem inner join tblcategory on tblitem.tblcategory_id=tblcategory.tblcategory_id where tblitem.item_name='" + Iname + "' and tblitem.item_model='" + Imod + "' and tblcategory.category_name='" + Icat + "'"
rs.Open qry1, conn
qry1Result = rs.Fields(0).Value
rs.Close

qry2 = "SELECT date_returned,Firstname,Lastname FROM tblborrowers where tblitem_id='" & qry1Result & "' ORDER BY tblborrowers_id DESC LIMIT 1"
rs.Open qry2, conn

dateReturned = rs.Fields(0).Value

If dateReturned <> "" Then
  borrowersName = True
  BFname = rs.Fields(1).Value
  BLname = rs.Fields(2).Value
Else
  borrowersName = False
End If

Set rs = Nothing

结束功能

1 个答案:

答案 0 :(得分:0)

您确实拥有正确顺序的记录集OpenClose方法,因此没有问题。

错误“BOF或EOF为True,或者当前记录已被删除”只是意味着您的SELECT个查询之一已返回零记录。你做了什么取决于你的要求。例如,您可以在尝试读取字段值之前测试Not rs.EOF