【问题标题】:Additional information: The conversion of a varchar data type to a datetime data type resulted in an out-of-range value附加信息:将 varchar 数据类型转换为 datetime 数据类型导致值超出范围
【发布时间】:2017-03-29 23:55:17
【问题描述】:

我正在尝试从我的 .net 应用程序执行此命令,但是我收到此错误

将 varchar 数据类型转换为 datetime 数据类型导致值超出范围。

INSERT INTO TempSense_AppEngine_Medidas (Valor, FechaHora, DispositivoI) VALUES(CONVERT(decimal(38,2), REPLACE('26,8',',','.')),  CONVERT(Datetime, '15/11/2016 13:16:07', 120),6)

这是我的代码

using (SqlConnection sqlConn = new SqlConnection(ConfigurationManager.ConnectionStrings["TempsenseConnection2"].ConnectionString))
                                    {
                                        sqlConn.Open();
                                        SqlCommand cmd = new SqlCommand();
                                        cmd.Connection = sqlConn;
                                        cmd.CommandText = "INSERT INTO TempSense_AppEngine_Medidas (Valor, FechaHora, DispositivoI) VALUES(CONVERT(decimal(38,2), REPLACE('" + medida.Valor + "',',','.')),  CONVERT(Datetime, '" + medida.FechaHora + "', 120)," + medida.DispositivoID + ")";
                                        //cmd.CommandText = "INSERT INTO TempSense_AppEngine_Dispositivo (DispositivoI) VALUES(" + medida.DispositivoID + ")";
                                        cmd.ExecuteNonQuery();
                                    }

【问题讨论】:

    标签: c# sql asp.net .net tsql


    【解决方案1】:

    尝试转换类型 103 转换 dd/mm/yyyy

    SELECT convert(datetime, '15/11/2016 13:16:07', 103)
    

    返回

    2016-11-15 13:16:07.000
    

    【讨论】:

      猜你喜欢
      • 2011-11-12
      • 2016-02-08
      • 1970-01-01
      • 2014-01-17
      • 2021-06-01
      相关资源
      最近更新 更多