这是我的疑问:
string sql = @"INSERT INTO MY_TABLE(DATE)
VALUES (convert(datetime, '{0}')";
sql = string.Format(sql, myDate);
myDate
是一个C#DateTime
对象,在string.format
之前有此值:
MY_TABLE
将DATE列设为DateTime
类型。
我收到了这个错误:
将varchar数据类型转换为日期时间数据类型会导致超出范围的值。
我需要将myDate
值以31/12/2013 23:59:00
格式存储到MY_TABLE中。
答案 0 :(得分:6)
最好使用sql参数
string sql = @"INSERT INTO MY_TABLE(DATE)
VALUES (@DATE)";
使用SqlParameterCollection.AddWithValue
Method
command.Parameters.AddWithValue("@DATE", myDate);
或,SqlParameterCollection.Add
Method
command.Parameters.Add("@DATE",SqlDbType.DateTime).Value = myDate
答案 1 :(得分:0)
DateTime.Now.ToString("dd/MM/yyyy H:mm:ss")
有关参数列表,请参阅MSDN。 (向下滚动一下以查看表格。)
(建议使用Parameters.AddWithValue
来避免SQL注入等。)