将nvarchar数据类型转换为日期时间数据类型 会导致超出范围的值。SQL中的例外日期时间
我的代码:
string sqlthem = "INSERT INTO Infosp1 VALUES (@khach,@sp,@sl,@gia,@tg)";
string sqlconvert = "select CONVERT(varchar(20),[Tg], 103) from Infosp1";
SqlCommand cmd = new SqlCommand(sqlthem, con);
cmd.Parameters.AddWithValue("Khach", cbbtenkh.Text);
cmd.Parameters.AddWithValue("Sp", cbbmahang.Text);
cmd.Parameters.AddWithValue("Sl", cbbsl.Text);
cmd.Parameters.AddWithValue("Gia", cbbgia.Text);
cmd.Parameters.AddWithValue("Tg", datetg.Text);
cmd.ExecuteNonQuery();
它出现在.ExecuteNonQuery()
PLS
使用正确的类型为您的段米,请在参数实例中指定类型并添加正确类型的值。另请参见[最佳实践 - 执行SQL语句](http://stackoverflow.com/documentation/.net/3589/ado-net/14261/best-practices-executing-sql-statements)。 – Igor
您确实应该确保参数的类型与数据库中列的类型相匹配,并且应该首先在代码中将字符串值解析为DateTime。另请考虑[不使用'AddWithValue'](http://blogs.msmvps.com/jcoehoorn/blog/2014/05/12/can-we-stop-using-addwithvalue-already/) – juharr
您能否显示传递的示例值在'datetg'变量中? – nocodename