| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1241 人关注过本帖
标题:请教ASP代码的一个小问题!!
取消只看楼主 加入收藏
zjcwg
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2007-9-29
收藏
 问题点数:0 回复次数:13 
请教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
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
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
zjcwg
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2007-9-29
收藏
得分:0 
不好意思,可能我讲的意思不清楚,让版主误解了。我的意思是如果库中已经存在了某天的表,就要限制再新建与此天日期相同的表。以确保库中每天只登记一张表。

2007-10-09 14:37
zjcwg
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2007-9-29
收藏
得分:0 
对,这个时间就是动态表在网页上显示的标题,点击该标题可以打开查看表的内容。为了防止出现两张相同标题(时间)的表,必须实行限制。

2007-10-09 15:35
zjcwg
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2007-9-29
收藏
得分:0 
我在第一次提供的代码是NewDate在数据库中字段属性为"文本"时的代码,可以实现限制功能。但将NewDate改为"日期"属性后,就不行了。

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

还是不行。如果不要WebName这个变量是否可以实现,因为WebName在数据库中不存在,只是在网页信息列表显示时定义为标题而已。我原来设计的原意是:如果NewDate与已有的信息标题相同时,阻止新表登记。现在的问题很明显,就是NewDate 与 WebName的属性已经不同(一个是日期型,一个是文本型),不能比较。

列表显示代码:
<a href="#" onClick="MM_openBrWindow('shiplist.asp?id=<%=rs("id")%>','','width=700,height=500,scrollbars=yes')"><%=rs("NewDate")%></a>

在页面显示:YYYY-MM-DD

点击日期,就可以显示出表shiplist.asp页面。

[此贴子已经被作者于2007-10-9 16:25:07编辑过]


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



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

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