从asp.net(C#)System.DateTime插入/更新SQL DateTime

从asp.net(C#)System.DateTime插入/更新SQL DateTime,c#,asp.net,sql,datetime,C#,Asp.net,Sql,Datetime,以下是我试图做的: 注意:我不想使用参数化查询 代码: 这将导致此查询: UPDATE Table SET date='25/02/2014 12:04:00' WHERE user_id='1' 获取以下错误: An exception of type 'System.Data.SqlClient.SqlException' occurred in System.Data.dll but was not handled in user code Additional inform

以下是我试图做的:

注意:我不想使用参数化查询

代码:

这将导致此查询:

 UPDATE Table SET date='25/02/2014 12:04:00'
 WHERE user_id='1'
获取以下错误:

   An exception of type 'System.Data.SqlClient.SqlException' occurred in System.Data.dll 
but was not handled in user code
Additional information: The conversion of a varchar data type to a datetime data 
type resulted in an out-of-range value.
改变

refresh_query.Append("date='" +now + "' "); 


使用检查日期如何存储在
sql

选择getdate()

在代码中

refresh_query.Append("date='" +now.ToString(_formatExpression_) + "' ");

其中formatExpression-是与您的
SQL
()

中的日期格式相对应的格式几乎所有数据库引擎都有返回当前日期和时间的内容。为什么不使用它而不是传递字符串?

几乎每个数据库引擎都有返回当前日期和时间的功能。为什么不使用参数化SQL查询而不是传递字符串呢?使用参数化SQL查询也是更好的做法我没有使用参数化SQL查询,因为我使用if stations构建查询,我可能有date=,date2=…,date4=@DanBracuk我确实以“Now”为例,表明它是System.dateTime格式,但我做了一些计算,然后想把它放在数据库中,有什么建议吗?@DanBracuk将您的评论作为答案发布,我会接受的。感谢您的提示如果DB使用其他数据库,此方法将不起作用culture@MikkaRin我如何知道我的数据库使用的是什么文化?
refresh_query.Append("date='" +now.ToString() + "' ");
refresh_query.Append("date='" +now.ToString(_formatExpression_) + "' ");