ASP.NET C# 在WIN7上时间格式错误

数据库用的是SQL 2005
以前用的是WIN XP。现在换成了WIN 7
"insert into logs(logs_datetimes,logs_userid,logs_operating,logs_type) values(" + DateTime.Now + "," + logsVO.LogsUserID + ",'" + logsVO.LogsOperation + "','" + logsVO.LogsType + "')"

这段代码在执行的时候提示 '星期四' 附近有语法错误。
请问时间格式该怎么更改。。

图片说明

3个回答

DateTime.Now 是一个日期类型吧,格式化一下:

 DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff"); 
testcs_dn
微wx笑 回复dailiboy: 解决了吗?
接近 2 年之前 回复
dailiboy
dailiboy 回复微wx笑: 百度过了,否则也不会来这里提问
接近 2 年之前 回复
testcs_dn
微wx笑 回复dailiboy: 按提示的错误百度一下。
接近 2 年之前 回复
dailiboy
dailiboy 回复微wx笑: 从字符串向 datetime 转换时失败。 加上单引号就这样的结果,我估计是系统时间格式设置的问题
接近 2 年之前 回复
testcs_dn
微wx笑 回复dailiboy: SQL日期类型字符串需要加单引号的。或者是#
接近 2 年之前 回复
dailiboy
dailiboy logs_datetimes 是 datetime 类型 这样更改后提示 '16' 附近有语法错误。 应该是小时那里有错误
接近 2 年之前 回复

"insert into logs(logs_datetimes,logs_userid,logs_operating,logs_type) values(" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "," + logsVO.LogsUserID + ",'" + logsVO.LogsOperation + "','" + logsVO.LogsType + "')"

另外,不知道你的LogsUserID LogsOperation LogsType这几个字段是啥类型的?如果是整型之类的值类型,记得用tostring(),直接"+"操作会导致装箱.

dailiboy
dailiboy logs_datetimes 是 datetime 类型 这样更改后提示 '16' 附近有语法错误。 应该是小时那里有错误,因为数据库中已有了数据,所以现在是在不修改数据类型的情况下解决这个问题
接近 2 年之前 回复

"insert into logs(logs_datetimes,logs_userid,logs_operating,logs_type) values(CONVERT(varchar, getdate(), 120 )," + logsVO.LogsUserID + ",'" + logsVO.LogsOperation + "','" + logsVO.LogsType + "')"

我将语句换成了这样,在SQL里面获取时间,格式化时间格式。。这里不报错了,但其他地方还是会报错。。。
那样的修改量太大了,解决不了根本问题。。。
主要就是WINDOWS的日期时间格式设置问题。。。以前XP是对的,现在换成WIN7后出现这样的问题,请问如何解决。。。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!