java8 多线程编程:从字符串转换为 datetime 时发生语法错误

来源:百度文库 编辑:中科新闻网 时间:2024/04/30 02:00:52
源码:
'更新登录次数
sql="update love_main set endtime='"&now()&"',endip='"&UserIP&"',logined_count=logined_count+1 where username='"&username&"'"
conn.execute sql

错误类型:
Microsoft OLE DB Provider for SQL Server (0x80040E07)
从字符串转换为 datetime 时发生语法错误。
/login.asp, 第 152 行
就是 conn.execute sql 这一行
改成这样就行了,要在日期/时间型数据前后各加一个#。

还是不行啊,加了#号还是一样的错误提示!

首先,改成如下代码:
sql="update love_main set endtime='"&now()&"',endip='"&UserIP&"',logined_count=logined_count+1 where username='"&username&"'"
response.write sql
response.end()
conn.execute sql

把上面的显示的内容贴上来看看
有可能是now()取得时间格式不对,你最好在
控制面板里面把系统时间格式设置成:2006-8-19 22:22:22类似,不能搞成有上午或者下午或者am或者pm之类的。

把now()改为getdate()
(另外时间数据是用单引号而不是#,如'20060818')

sql="update love_main set endtime='#"&now()&"#',endip='"&UserIP&"',logined_count=logined_count+1 where username='"&username&"'"
你也可以在设计数据库的时候把endtime的字符类型设置为文本或CHAR(),ACCESS语法要求比较高,上面一定要加#号的.还有要是货币类型的就要加$,模糊查询加*号或%.

sql="update love_main set endtime='#"&now()&"#',endip='"&UserIP&"',logined_count=logined_count+1 where username='"&username&"'"

改成这样就行了,要在日期/时间型数据前后各加一个#。