if rs.eof and rs.bof

使用Recordset对象操作数据     
   用rs.open    “数据表名”,Conn,2,2    方式打开数据表,就可以方便的对数据进行操作:     
   常见的操作对象:     
   rs.addnew      :添加一个新记录在数据表末尾。     
   rs.delete      :删除当前记录。无数据记录或移过了最后记录,则rs.EOF为真,移过了第一条记录(向上),则rs.BOF为真。     
   rs.eof            :判断是否已过最后记录。     
   rs.bof            :判断是否移过首记录。     
   rs.update      :数据修改生效。     
   rs(“字段名”):当前记录指定字段的值。     
   从数据表中提取数据:用x=rs(“字段名”)的格式,提取数据表中当前记录指定字段的值。     
   向数据表中填入或修改数据:用rs(“字段名”)=数据值或变量的方式,修改当前记录指定字段的值。

如果表orders里没有任何一条符合记录。那么如果只用if(rs.eof) then判断会导致错误。正确做法是头指针尾指针都要判断:if(rs.bof and rs.eof) then正确代码如下:

set rs=server.CreateObject("adodb.recordset")
    rs.open "select username from orders where charname='"&charname&"' and username<>'"&username&"' and actionid<>'"&actionid&"'",conn,1,1
    If (rs.bof and rs.eof) then
     Response.Write("无记录")
     rs.close
     set rs=nothing
     response.End()
    End If

原文地址:https://www.cnblogs.com/xwf2160/p/1962000.html