| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 740 人关注过本帖
标题:请教了,请帮忙看这段代码有什么问题
只看楼主 加入收藏
楚薇
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2006-8-25
收藏
 问题点数:0 回复次数:11 
请教了,请帮忙看这段代码有什么问题

先说明一下,这是一段签到表显示的代码,平时倒也一切正常,但是偶尔就会出现值班人员多显示一个的问题。就是说假设A和B是值班的正副职,正常的时候,应该在这段代码里是不会显示A和B的,但有的时候就是会显示A或者B。上面红色的和蓝色的代码对调一下,显示的人也就对调一下,但始终就无法正常显示。请不吝赐教啊!!设A和B是值班的正副职,正常的时候,应该在这段代码里是不会显示A和B的,但有的时候就是会显示A或者B。

<%
do while NOT rss.EOF
if rss("xm")=rs("zzy") then
rss.MoveNext
end if
if rss("xm")=rs("hzy") then
rss.MoveNext
end if

set rst=my_connection.execute("select * from wh_qx_zxryb where xm='" & rss("xm") & "'")
if not rst.eof then
if rst("js")="111" then
set rst=nothing
exit do
else
set rst=nothing
rss.MoveNext
end if
else
exit do
end if
loop
if not rss.eof then
if rss("zk")="1" then
response.write "<font color=red>"&rss("xm")&"</font>"
else
response.write rss("xm")
end if
end if %>


[此贴子已经被作者于2006-8-25 9:26:13编辑过]

搜索更多相关主题的帖子: 代码 
2006-08-25 09:07
楚薇
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2006-8-25
收藏
得分:0 
对了,我用的是Oracle 9i版本的数据库。

2006-08-25 09:28
渚薰
Rank: 6Rank: 6
等 级:贵宾
威 望:22
帖 子:1132
专家分:0
注 册:2006-8-6
收藏
得分:0 
请把你那些数据库里字段名的意思说明一下,比如xm,zzy等
涉及到本段代码的的所有字段名和表明都说明下

个人ajax技术专题站: " target="_blank">http://www. 我不会闲你烦,只会闲你不够烦!
2006-08-25 14:38
楚薇
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2006-8-25
收藏
得分:0 

这里就说明一下,首先,有三张表,表1是用户权限表,表2是签到表,表3是值班表。

表1有三个字段:xm(姓名)、mm(密码)、js(部门代码)
表2有这几个字段:rq(签到日期)、xm(姓名)、sj(签到时间)、zt(是否迟到)
表3有几个字段:rq(值班日期)、zzy(值班正值)、fzy(值班副值)

签到表的显示格示是这样的

签到地点 序号 签到人 签到时间 签到IP
值班人1 1 zzy
值班人2 2 fzy
地点1 3 cc
地点2 4 dd


大致的意思是这样的,不同的部门在不同的地点上班,签到的IP网段不一样,根据这个可以区分签到地点,分成几个部份。迟到的显示红色,正常上班的显示黑色。出错的时候是在地点1上会显示值班人的其中一个,1楼的那段代码对调一下就显示不同的值班人,不管放在什么位置,都会显示其中一个人,但有时候却是正常的,不会显示值班人。郁闷啊,明明一样的代码,有时候对有时候不对,都不知道要怎么说了。


2006-08-25 15:55
渚薰
Rank: 6Rank: 6
等 级:贵宾
威 望:22
帖 子:1132
专家分:0
注 册:2006-8-6
收藏
得分:0 
if rss("xm")=rs("zzy") then
        rss.MoveNext
end if
if rss("xm")=rs("hzy") then
        rss.MoveNext
end if
改成
WHLIE rss("xm")=rs("zzy") OR rss("xm")=rs("hzy")
    rss.MoveNext()
WEND

个人ajax技术专题站: " target="_blank">http://www. 我不会闲你烦,只会闲你不够烦!
2006-08-25 16:16
楚薇
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2006-8-25
收藏
得分:0 
改成这个会提示缺少语句哦。

2006-08-25 16:25
渚薰
Rank: 6Rank: 6
等 级:贵宾
威 望:22
帖 子:1132
专家分:0
注 册:2006-8-6
收藏
得分:0 
DO WHLIE rss("xm")=rs("zzy") OR rss("xm")=rs("hzy")
    rss.MoveNext()
LOOP

个人ajax技术专题站: " target="_blank">http://www. 我不会闲你烦,只会闲你不够烦!
2006-08-25 16:30
楚薇
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2006-8-25
收藏
得分:0 
这样写??那不是又从头循环一次??

2006-08-25 17:07
渚薰
Rank: 6Rank: 6
等 级:贵宾
威 望:22
帖 子:1132
专家分:0
注 册:2006-8-6
收藏
得分:0 
你的程序思路,就是要把是在值班的去掉
你在用if比较的时候,只比较了当前的一条记录
对于下一条记录并没有进行比较
所以要用循环的方法把是值班人员的记录都忽略掉

个人ajax技术专题站: " target="_blank">http://www. 我不会闲你烦,只会闲你不够烦!
2006-08-26 00:17
楚薇
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2006-8-25
收藏
得分:0 
首先谢谢你的帮助。但是这段代码有的时候又能正常显示啊,这又是怎么回事??难道这个if比较还有什么区分吗??

2006-09-01 08:13
快速回复:请教了,请帮忙看这段代码有什么问题
数据加载中...
 
   



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

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