标题:求助:添加函数里的判断不知道为什么失效
取消只看楼主
zasdcx
Rank: 1
等 级:新手上路
帖 子:5
专家分:2
注 册:2013-1-9
结帖率:0
已结贴  问题点数:20 回复次数:2 
求助:添加函数里的判断不知道为什么失效
程序代码:
Function InsertDt(DataList)
    Set Rs=Server.CreateObject("Adodb.RecordSet")
    Rs.Open "Select * From ["&DataList&"]",Conn,1,3
    Rs.AddNew
    Rs("Item1")=CheckSql(Trim(Request.Form("Item1"))) 
    Rs("ItemAddDate") = Now()
    On error resume next
    Rs.Update
    If err.number=0 then
    Response.Write "<script>alert('111');location.href='aa.asp';</script>"
    Else
    Response.Write "<script>alert('222');location.href='aa.asp';</script>"
    End If
    Rs.Close : Set Rs=Nothing
End Function


新手问题,我写的这个用于添加数据的函数,为什么在成功的时候可以弹出 111的提示窗口,但是失败的时候却没有反应,应该会弹出 222的提示窗口的呀?



如果把判断的那一小段加到asp页面中,程序就没有问题,出错时会弹出222的提示窗口。

程序代码:
<%
If Action = "Save" Then
    InsertDt "Dosden"
    If err.number=0 then
        Response.Write "<script>alert('111');location.href='aa.asp';</script>"
    Else
        Response.Write "<script>alert('222');location.href='aa.asp';</script>"
    End If
    Rs.Close : Set Rs=Nothing
End If
%>



哪位老师可以提点提点啊?

[ 本帖最后由 zasdcx 于 2013-1-9 17:29 编辑 ]
搜索更多相关主题的帖子: 函数 
2013-01-09 17:20
zasdcx
Rank: 1
等 级:新手上路
帖 子:5
专家分:2
注 册:2013-1-9
得分:0 
是我说得不清楚吗?怎么没人指点啊?
2013-01-10 09:39
zasdcx
Rank: 1
等 级:新手上路
帖 子:5
专家分:2
注 册:2013-1-9
得分:0 
回复 3楼 ysf0181
果然是这里的问题。版主大大真是好人,谢谢~~~
我之前 on error resume next 也是写在这个位置的,但是后来看到有文章说是在提交之前写,才把这句放到了Rs.Update之前。

版主大大,我还可以追加提问吗?因为在您给我答案之前,我试了很多修改,有想不通的地方。
就是:为什么我之前的错误写法的话,不用函数形式直接写到执行的页面,或者将判断分开另写一个判断函数的话,程序运行起来还是没有问题的呢?
比如后面我写了两个函数

程序代码:
Function InsertDt(DataList)
Set Rs=Server.CreateObject("Adodb.RecordSet")
Rs.Open "Select * From ["&DataList&"]",Conn,1,3
Rs.AddNew
Rs("Item1")=CheckSql(Trim(Request.Form("Item1"))) 
On error resume next
Rs.Update
Rs.Close : Set Rs=Nothing
End Function

Function isRight(isOk,isfail,JumpLink)
If err.number=0 then
Response.Write "<script>alert('"&isOk&"');location.href='"&JumpLink&"';</script>"
Else
Response.Write "<script>alert('"&isfail&"');location.href='"&JumpLink&"';</script>"
End If
End Function


然后执行页面用下面这样调用

程序代码:
If Action = "Save" Then
InsertDt "sdown","搞定了,等着收钱吧!","出错了,快找那个苦B的代码男吧!","test.asp"
End If


这样的话,就算on error resume next放在原来的位置,程序运行起来都正常没有问题。
给版主大大添麻烦了,不过真的很想明白到底这种情况是什么原因,如果版主大大有时间可以解答一下吗?万分感谢。
2013-01-10 16:40



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-395933-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.057987 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved