ccz202 2025-03-14 22:12 采纳率: 0%
浏览 6

asp+Access if rs.EOF then没有反应?是何原因(关键词-Else)

asp+Access
if rs.EOF then
‘插入一条记录,能成功 ,已验证
Else
info=“数据存在” ‘这块反应?是什么原因
End if
表和查询语句都没问题,确认表中有数据。原因是什么,如何解决?

  • 写回答

6条回答 默认 最新

  • 阿里嘎多学长 2025-03-14 22:12
    关注

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    解答

    你遇到的问题是,ASP页面中使用 if rs.EOF then 语句,插入一条记录成功后,Else 部分的代码没有执行。

    原因可能是 rs.EOF 语句检查的是记录集的末尾是否已经到达,如果记录集为空(即没有记录),那么 rs.EOF 将返回 True,否则返回 False

    在你的代码中,插入一条记录成功后,记录集 rs 中的记录数增加了,导致 rs.EOF 语句返回 False,而不是 True。因此,Else 部分的代码没有执行。

    解决方法是,使用 rs.Movenext 方法将记录集指针移到下一条记录,然后检查 rs.EOF 语句:

    if rs.EOF then
        ' 插入一条记录,能成功
        ' ...
    else
        info = "数据存在"
        ' ...
    end if
    rs.Movenext
    

    这样,插入一条记录成功后,记录集指针将移到下一条记录,rs.EOF 语句将返回 True,执行 Else 部分的代码。

    评论

报告相同问题?

问题事件

  • 创建了问题 3月14日