| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 719 人关注过本帖
标题:这个论坛很好!很多高手,我想我高手们应该可以帮小女子解决这个问题
只看楼主 加入收藏
zhineng28
Rank: 1
等 级:新手上路
帖 子:58
专家分:0
注 册:2005-3-11
收藏
 问题点数:0 回复次数:3 
这个论坛很好!很多高手,我想我高手们应该可以帮小女子解决这个问题

问题是这样的,我想在填写资料的页面(tjzsd.asp)中填写资料,然后按表单确定按钮以后 就跳到另外一个页面(tstjzsd.asp),tstjzsd.asp有两个功能,就是检测填写资料的页面 (tjzsd.asp)是否符合要求以及如果符合就向数据库里面添加数据。可是两个功能只能实现一个 也就是说两个功能不能放在同一个页面;tstjzsd.asp代码如下 <% Option Explicit %> <% if request.form("textfield")="" or request.form("xmc")="" then response.Write("<script language='javascript'>{alert('带星号的不能为

空!');window.location.href='tjzsd.asp';}</script>") end if %> =======上面是解决该填写的地方是否为空,如果空就弹出警告筐,然后返回原来页面

=======下面这段是如果填写的不为空,就把数据插入数据库里面 <%Dim tjzsdkm,tjzsdmc if request.form("textfield")="" or request.form("xmc")="" then response.Write("<script language='javascript'>{alert('带星号的不能为空!');window.location.href='tjzsd.asp';}</script>") end if session("tjzsdmc")=request.form("textfield") session("tjzsdkm")=request.form("xmc") tjzsdmc=session("tjzsdmc") tjzsdkm=session("tjzsdkm") response.Write tjzsdkm response.Write tjzsdmc %> <% Dim rs3,strSql3,xmc,n Set rs3=Server.CreateObject("ADODB.Recordset") strSql3="select course_id from course where course_name='"&tjzsdkm&"'" rs3.Open strSql3,db,1,1 %> <% Dim strSql2 strSql2="Insert Into ken(ken_name,subject_id) Values('" &tjzsdmc&"','"&rs3("course_id")&"')" '不知道是不是上面那行有错误! db.Execute(strSql2) response.Redirect("tjzsd.asp") %> ===============结果错误如下: 错误类型: (0x80020009) 发生意外。 /bysj/tstjzsd.asp, 第 46 行  ===错误的一行就是插入数据库的那行 ============= 我也知道如果该出入的值为空的时候,就会出错,在前面可以捕捉的啊!可它就是捕捉不到? 如果把这两个功能放在两个页面来实现就可以,但是分开来实现也就达不到原来的效果了。 请个位大哥哥帮帮小女子好吗?而且我下个礼拜就要交给老师了。

搜索更多相关主题的帖子: 小女子 论坛 数据库 
2005-03-20 18:01
tang688
Rank: 5Rank: 5
等 级:贵宾
威 望:16
帖 子:1219
专家分:35
注 册:2004-12-25
收藏
得分:0 
1、建议使用JS来判断是否为空,也就是在tjzsd.asp中判断,这样速度可以大大加快。 2、我之前写过一个关于调试的贴子,你可以看一下,就是在出错时你无法得知错误所在时你最好想办法显示strSql2的值。 3、strSql2="Insert Into ken(ken_name,subject_id) Values('" &tjzsdmc&"','"&rs3("course_id")&"')" 中用的是tjzsdmccourse_id所以建议判断也用它。 4、db对象在你贴出的内容中没有被设置。

2005-03-20 22:20
zhineng28
Rank: 1
等 级:新手上路
帖 子:58
专家分:0
注 册:2005-3-11
收藏
得分:0 
谢谢楼上大哥的指点:
可是你说的方法我都试过了.
1,当我在tjzsd.asp中判断的时候它就会出现一个死循环,因为我本来哪个textfield和下拉筐就是空的,如果我打开这个页面的时候,它会弹出用JAVASCRIPT来编的那个用来捕捉错误的对话筐,当我按确定的时候它又会执行一次.
2,在tjzsd.asp中我是有显示strSpl2的值的,而我执行完tstjzsd.asp后是自动返回tjzsd.asp的页面,如果添加成功的时候就能显示到刚刚新添加的新记录.
3.我曾经把if request.form("textfield")="" or request.form("xmc")=""改成if  tjzsdmc="" or rs3("course_id")="",但结果也是出现错误:
===============结果错误如下:
错误类型:
(0x80020009)
发生意外。
/bysj/tstjzsd.asp, 第 46 行  ===错误的一行就是插入数据库的那行
4.我是有定义db对象的,在上面也有啊:rs3.Open strSql3,db,1,1
请你在帮我想想还有什么会导致错误捕捉不了的原因好吗?

2005-03-21 11:50
tang688
Rank: 5Rank: 5
等 级:贵宾
威 望:16
帖 子:1219
专家分:35
注 册:2004-12-25
收藏
得分:0 
哈哈~~ 1、死循环那是你逻辑上有问题,逻辑正确了什么可能死循环呢? 2、让错误报告来显示它,正确时有没有显示无所谓了。办法是:在strSql2赋值后,出错前加入:response.write straql2 3、看了出错时的straql2值再来看问题所在吧。

[此贴子已经被作者于2005-3-21 14:17:48编辑过]


2005-03-21 14:16
快速回复:这个论坛很好!很多高手,我想我高手们应该可以帮小女子解决这个问题
数据加载中...
 
   



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

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