| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 557 人关注过本帖
标题:求助:添加函数里的判断不知道为什么失效
只看楼主 加入收藏
zasdcx
Rank: 1
等 级:新手上路
帖 子:5
专家分:2
注 册:2013-1-9
结帖率:0
收藏
已结贴  问题点数:20 回复次数:4 
求助:添加函数里的判断不知道为什么失效
程序代码:
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
ysf0181
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:55
帖 子:914
专家分:2385
注 册:2006-10-4
收藏
得分:20 
Function InsertDt(DataList)
    On error resume next
    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()
    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



ASP讨论QQ群:251346273
2013-01-10 10:56
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
ysf0181
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:55
帖 子:914
专家分:2385
注 册:2006-10-4
收藏
得分:0 
函数出错的字段,如果字符写错或者没这个字段,系统都不提示,下面代码是不执行的,要是没有 on error resume next

ASP讨论QQ群:251346273
2013-01-12 15:33
快速回复:求助:添加函数里的判断不知道为什么失效
数据加载中...
 
   



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

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