【发布时间】: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();
}
【问题讨论】: