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属性为文本时,一切正常,但改为“日期格式”时,登记新表过程系统出错。
请问各位高手赐教!!
非常感谢!!
技术信息(适用于支持人员)
· 错误类型:
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&"'"
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