| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1241 人关注过本帖
标题:请教ASP代码的一个小问题!!
只看楼主 加入收藏
zjcwg
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2007-9-29
收藏
 问题点数:0 回复次数:22 
请教ASP代码的一个小问题!!

ASP代码的一个新问题!!


sql="select * from ship where NewDate='"&NewDate&"'"
rs.open sql,conn,1,3
if not rs.eof or NewDate=WebName then
errmsg="<br>"+"<li>对不起,此天的船舶动态表已存在,请您修改或重新建立。"
founderr=true
else

rs.addnew
rs("Duty")=Duty
rs("NewDate")=NewDate

以上代码是本人编写的《船舶动态表》模块,作用是经每天登记的“船舶动态表”以日期为文件名显示在网页上,点击该日期,即可显示当天的动态表,并且限制每天只能登记一张表,出现相同日期(名字)时,系统提示错误信息。
其中:Duty是岗位,NewDate 是登记日期(也是用于显示当天动态表的文件名),在数据库的表中属性为“日期格式”,WebName是在代码中定义的文件名。

现在的问题是,数据库ship的表中NewDate属性为文本时,一切正常,但改为“日期格式”时,登记新表过程系统出错。
请问各位高手赐教!!

非常感谢!!

搜索更多相关主题的帖子: ASP 代码 
2007-10-09 13:17
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
rs("NewDate")=CDate(NewDate)
强制转换为日期格式呢?
2007-10-09 13:26
zjcwg
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2007-9-29
收藏
得分:0 

还是不行。显示以下错误信息:

-----------------------------------------------

HTTP 500.100 - 内部服务器错误 - ASP 错误
Internet 信息服务

技术信息(适用于支持人员)
· 错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
/yewu/YewuRegPost.asp, 第 31 行
· 浏览器类型:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
· 页:
POST 1621 bytes to /yewu/YewuRegPost.asp
· POST 数据:
Year=2007&Month=9&Duty=%C0%EE%CE%C4%B3%AC&NewDate=2007-9-17&Port1=&name1=&Country1=&Cate1=&zd1=&Intime1=&Outtime1=&Port2=&name2=&Country2=&Cate2=&zd2=&Intime2=&Outtime2=&Port3=&name3=&Country3=&Cate3= . . .
· 时间:
2007年10月9日, 13:29:28
· 详细信息:
Microsoft 支持

----------------------------------------------


其中的 31行就是以上代码中的第一行:

sql="select * from ship where NewDate='"&NewDate&"'"


2007-10-09 13:36
zjcwg
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2007-9-29
收藏
得分:0 
如何将此段代码做如下修改,可以登记新表。但我要限制登记与当天日期相同的新表,目的是为了每天只登记一张。

sql="select * from ship"
rs.open sql,conn,1,3

rs.addnew
rs("Duty")=Duty
rs("NewDate")=NewDate
......


2007-10-09 13:40
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
sql="select * from ship where NewDate='"&NewDate&"'"
NewDate是什么类型的?Date型还是String型?
2007-10-09 13:40
zjcwg
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2007-9-29
收藏
得分:0 
是Date 型,ACCESS表中该字段属性是日期,以前我设为文本时正常,改为日期就不行了。

2007-10-09 13:44
zjcwg
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2007-9-29
收藏
得分:0 

是Date 型,ACCESS表中该字段属性是日期,以前我设为文本时正常,改为日期就不行了。

将此段代码做如下修改,可以登记新表。但我要限制登记与当天日期相同的新表,目的是为了每天只登记一张。

sql="select * from ship"
rs.open sql,conn,1,3

rs.addnew
rs("Duty")=Duty
rs("NewDate")=NewDate
......


2007-10-09 13:45
zjcwg
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2007-9-29
收藏
得分:0 
请告诉我如何在以上代码中增加限制登记与当天日期相同的新表的功能,目的是为了每天只登记一张。
多谢版主!

2007-10-09 13:55
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
sql="select * from ship where NewDate='"&CStr(NewDate)&"'"
再不行加
sql="select * from ship where NewDate='#"&CStr(NewDate)&"#'"
比较某个日期是否为当天日期用DateDiff函数比如
IF DateDiff("d",Now,CDate("2007/10/9"))=0 Then
Response.Write "2007年10月9日为当天日期"
End IF
2007-10-09 14:01
zjcwg
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2007-9-29
收藏
得分:0 
不好意思,可能我讲的意思不清楚,让版主误解了。我的意思是如果库中已经存在了某天的表,就要限制再新建与此天日期相同的表。以确保库中每天只登记一张表。

2007-10-09 14:37
快速回复:请教ASP代码的一个小问题!!
数据加载中...
 
   



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

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