日期:2014-05-17  浏览次数:20844 次

not(oRs.EOF or oRs.BOF) 不起作用 在线等
看看我的问题什么地方出错了,没有记录也运行,就好像not(oRs.EOF or oRs.BOF) 不起作用 是那写错了
HTML code

<%
text=request("text")
    If IsObject(oConn) = False Then 
    Set oConn = Server.CreateObject("ADODB.Connection")
    On Error Resume Next
    ' Access数据库
    oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("dwefb/iedifdfc.mdb")
    If Err.Number > 0 Then
    response.Write("出错了")    
        Response.End
    End If
    end if
    sSql = "select * from tihuan where text1=abc"
    response.Write(sSql)
    oRs.Open sSql, oConn, 1, 1
    If not(oRs.EOF or oRs.BOF) Then
        retext=oRs("text2")
        response.Write("找到了"&retext)
    Else
        retext="没有找到"
        response.Write(retext)
    End If
    oRs.Close
    %>



sSql = "select * from tihuan where text1=abc" 怎么改都是一样的情况


------解决方案--------------------
没有记录的判断是用and
if not(oRs.eof and oRs.bof) then
...
------解决方案--------------------
not oRs.eof 或者not oRs.eof and oRs.bof 表示有记录
oRs.eof and oRs.bof 表示没记录

not(oRs.eof or oRs.bof) 你的这个理解就是错误的 括号里面的是true false 如何进行or或者逻辑判断
------解决方案--------------------
捕捉下error, 看看description是什么.
------解决方案--------------------
oRs.eof表示记录在尾--空
oRs.bof表示记录在头--空
if not (ors.eof and ors.bof) then
do while not ors.eof
xxxxx
ooooo
ors.movenext
loop
end if

if not (ors.eof and ors.bof) then
response.Write("找到了"&retext)
end if
if (ors.eof and ors.bof) then
response.Write("没有找到"&retext)
end if


如果是多行用上面写。

判断记录集是否一第也没有要用AND呀。