將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