新微赢技术网

标题: 请教ASP代码的一个小问题!! [打印本页]

作者: 十六夜的月    时间: 2010-1-8 07:51
标题: 请教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属性为文本时,一切正常,但改为“日期格式”时,登记新表过程系统出错。
请问各位高手赐教!!
非常感谢!!
作者: 爱我后悔    时间: 2010-1-8 07:51
还是不行。显示以下错误信息:

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

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&"'"
作者: ★功夫小子★    时间: 2010-1-8 07:51
是Date 型,ACCESS表中该字段属性是日期,以前我设为文本时正常,改为日期就不行了。

将此段代码做如下修改,可以登记新表。但我要限制登记与当天日期相同的新表,目的是为了每天只登记一张。
sql="select * from ship"
rs.open sql,conn,1,3
rs.addnew
rs("Duty")=Duty
rs("NewDate")=NewDate
......
作者: QQ糖    时间: 2010-1-8 07:51
请告诉我如何在以上代码中增加限制登记与当天日期相同的新表的功能,目的是为了每天只登记一张。
多谢版主!
作者: 欠你一滴泪    时间: 2010-1-8 07:52
如何将此段代码做如下修改,可以登记新表。但我要限制登记与当天日期相同的新表,目的是为了每天只登记一张。

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

rs.addnew
rs("Duty")=Duty
rs("NewDate")=NewDate
......
作者: ★海浪★    时间: 2010-1-8 07:52
rs("NewDate")=CDate(NewDate)
强制转换为日期格式呢?
作者: →莲佳    时间: 2010-1-8 07:52
sql="select * from ship where NewDate='"&NewDate&"'"
NewDate是什么类型的?Date型还是String型?
作者: 想念~!    时间: 2010-1-8 07:52
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
作者: べ.べ凡士林    时间: 2010-1-8 07:52
是Date 型,ACCESS表中该字段属性是日期,以前我设为文本时正常,改为日期就不行了。
作者: 云-飘天涯    时间: 2010-1-8 07:52
不好意思,可能我讲的意思不清楚,让版主误解了。我的意思是如果库中已经存在了某天的表,就要限制再新建与此天日期相同的表。以确保库中每天只登记一张表。




欢迎光临 新微赢技术网 (http://bbs.weiying.cn/) Powered by Discuz! X3.2