将varchar数据类型转换为日期时间数据类型会导致超出范围的值

时间:2014-02-13 19:24:03

标签: c# datetimepicker

我正在尝试使用datetimepicker将日期插入到数据表中,此特定列的数据已指定为日期时间。

每当我运行我的项目时,我都会收到此错误:

  

将varchar数据类型转换为日期时间数据类型会导致超出范围的值

这是我的sql命令:

'" + Convert.ToDateTime(MyDateTimePicker.Text) + "'

1 个答案:

答案 0 :(得分:1)

您可能需要将其格式化为数据库为时间/日期类型列接受的任何字符串格式。例如,对于我们的数据库,我必须dateTimeValue.ToString("MM-DD-YYYY-HH.mm.ss.FFFFFF")DateTime正确格式化为timestamp列接受的字符串表示形式。

使用参数化查询(无论如何这只是一种很好的做法)可能允许您直接将DateTime作为参数传递给查询。当你现在编码时,DateTime被隐含地转换为String(通过调用ToString,这取决于您的语言/文化设置可能类似于2/17/2014 11:18:01 AM )。