2016-11-15 63 views
2

我想从我的.net应用程序执行此命令,但是我得到这个错误其他信息:varchar数据类型为datetime数据类型的转换导致超出范围的值

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

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(); 
            } 

回答

1

尝试converstion类型103来转换日/月/年

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

返回

2016-11-15 13:16:07.000 
相关问题