1

这是我的查询:

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 数据类型转换为 datetime 数据类型导致值超出范围。

我需要将myDate值以如下格式存储:31/12/2013 23:59:00到 MY_TABLE 中。

4

2 回答 2

6

最好使用sql参数

string sql = @"INSERT INTO MY_TABLE(DATE) 
                            VALUES (@DATE)";

使用方法将参数添加到您的 SqlCommandSqlParameterCollection.AddWithValue

command.Parameters.AddWithValue("@DATE", myDate);

或者,使用SqlParameterCollection.Add方法

   command.Parameters.Add("@DATE",SqlDbType.DateTime).Value = myDate
于 2013-07-15T11:05:25.930 回答
0
DateTime.Now.ToString("dd/MM/yyyy H:mm:ss")

有关参数列表,请参阅MSDN。(向下滚动一点以查看表格。)

(建议使用Parameters.AddWithValue以避免SQL注入等)

于 2013-07-15T11:18:37.723 回答