Vb6 recordset.close获得错误的帮助PLSSS

Vb6 recordset.close获得错误的帮助PLSSS,vb6,vb6-migration,Vb6,Vb6 Migration,帮助我的代码出错它说: BOF或EOF为真,或者当前记录已被删除,请求的操作需要当前记录 我认为这个rs.close有问题,或者我可以在哪里设置rs.close?因为我设置并使用了两次记录集。 有人能帮忙吗?请修改我的密码 以字符串形式返回 'select firt the primary key of the item qry1 = "select tblitem_id from tblitem inner join tblcategory on tblitem.tblcategory_id=

帮助我的代码出错它说:

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

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

以字符串形式返回

'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
结束函数

您的记录集打开和关闭方法顺序正确,因此没有问题


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

我使用Vb6已有多年,因此我不会尝试回答,但当您使用rs关闭rs时。据我所知,您将无法使用conn.Execute设置rs。。有关Object.close,请参阅MSDN文档。我将其更改为rs.open qry2,conn,但它仍然出错::您收到了什么错误消息以及哪一行的错误消息?它说:关闭对象时不允许操作。我认为rs.close代码可能是问题所在。。。。。
'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