标题:如何累加?????
只看楼主
xiongjl9555
Rank: 2
来 自:深圳南山区
等 级:论坛游民
帖 子:124
专家分:10
注 册:2008-5-27
得分:0 
回复 yms123 的帖子
你写的这句话在测试时显示是错误的。
2008-07-08 08:59
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
得分:0 
member
这个表字段是那些都是什么类型的?
2008-07-08 10:30
xiongjl9555
Rank: 2
来 自:深圳南山区
等 级:论坛游民
帖 子:124
专家分:10
注 册:2008-5-27
得分:0 
回复 12# yms123 的帖子
表单member中有membername(文本),birthday(日期型,默认Date()),num(文本)..等字段,谢谢,我有一个想法,即弹出窗口仍然用脚本语言写,在readtc.asp中加入判断,如果有日期相同的就将这些成员的姓名通过累加赋值给一个变量,如果没有满足条件的就关闭弹出窗口,暂时只能这样将就一下,如果能在该窗口不弹出之前就关闭就好了。
另外上面的select语句我想暂时也不用深究,可以转换一下,将数据库中所有人的生日的年全部换成当前年就可以使用了。
谢谢帮助,如能改进不胜感激。
2008-07-08 11:43
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
得分:0 
显示的什么错误信息?
2008-07-08 11:50
xiongjl9555
Rank: 2
来 自:深圳南山区
等 级:论坛游民
帖 子:124
专家分:10
注 册:2008-5-27
得分:0 
显示脚本运行时间超长,或者明明数据库中有与当月、当日相同的成员也无法读取出来。具体的讲当Year()中没有加入Now()时就显示脚本运行时间超长,加上后就无法找出设想符合条件的成员,如果讲成员生日按照我的想法处理显示真正起作用的就1条DateDiff语句。

[[it] 本帖最后由 xiongjl9555 于 2008-7-8 12:40 编辑 [/it]]

[[it] 本帖最后由 xiongjl9555 于 2008-7-8 12:45 编辑 [/it]]

[[it] 本帖最后由 xiongjl9555 于 2008-7-8 12:52 编辑 [/it]]
2008-07-08 12:34
孤独冷雨
Rank: 10Rank: 10Rank: 10
来 自:安徽滁州
等 级:贵宾
威 望:23
帖 子:1246
专家分:1909
注 册:2007-6-4
得分:0 
<%
set rs=server.CreateObject("adodb.recordset")
constr="DRIVER={Microsoft Access Driver (*.mdb)};dbq="&server.MapPath("user.mdb")

sql="select * from member where DateDiff('d',birthday,Year(now())&'-'&Month(now())&'-'&Day(Now()))=0 And DateDiff('m',birthday,Year(now())&'-'&Month(now())&'-'&Day(now()))=0 "
rs.Open sql,constr,1,1

Do while not rs.EOF
   Response.Write "今天生日的用户:"&rs("membername")&"<br>"
   rs.MoveNext
Loop
%>

你birthday字段里面的格式是:2008-8-7这样的吧?要是这样的肯定不会错的!不行的话你把我这段代码复制一下,数据库自己改一下名字和路径!
2008-07-08 15:12
xiongjl9555
Rank: 2
来 自:深圳南山区
等 级:论坛游民
帖 子:124
专家分:10
注 册:2008-5-27
得分:0 
回复 孤独冷雨 的帖子
先谢过,我这就去测试,一定回复
还是不对,生日的格式是1971-7-8形式,今天是2008-7-8日,按照上面你写的语句就无法查询出生日为1971-7-8的成员。谢谢

[[it] 本帖最后由 xiongjl9555 于 2008-7-8 15:40 编辑 [/it]]
2008-07-08 15:26
孤独冷雨
Rank: 10Rank: 10Rank: 10
来 自:安徽滁州
等 级:贵宾
威 望:23
帖 子:1246
专家分:1909
注 册:2007-6-4
得分:0 
兄弟你多少也自己动一下脑子啊,你不能老这样没完没了的问啊!这里只能给你一个思路!算了帮忙帮到家吧!!!!下面的应该是你要的了!

<%
set rs=server.CreateObject("adodb.recordset")
constr="DRIVER={Microsoft Access Driver (*.mdb)};dbq="&server.MapPath("user.mdb")

sql="select * from member order by id desc "
rs.Open sql,constr,1,1

ms=cstr(month(now()))
ds=cstr(day(now()))


do while not rs.eof
m=replace(mid(rs("birthday"),6,2),"-","")
d=replace(mid(rs("birthday"),8,2),"-","")
if m=ms and d=ds then
         Response.Write "今天生日的用户:"&rs("membername")&"<br>"
end if
   rs.MoveNext
 loop

%>
2008-07-08 17:02
xiongjl9555
Rank: 2
来 自:深圳南山区
等 级:论坛游民
帖 子:124
专家分:10
注 册:2008-5-27
得分:0 
回复 孤独冷雨 的帖子
谢谢,你这样说我就明白了,其实之前我也是这么写的,但是有兄弟引入了DateDiff,所以我以为直接用selece...where就能搞定,不想最终还是要回到转换、替换、判断上来,谢谢,谢谢,以后还会麻烦你们的
2008-07-08 17:10



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




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

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