我插入一些值到數據庫。在數據庫字段received_date是datetime數據類型的類型我正在使用下面的代碼插入但它顯示一些例外,我無法弄清楚。插入到DB顯示異常
例外:
varchar數據類型爲日期時間數據類型 的轉換導致外的範圍內的值。
SqlConnection con = new SqlConnection("data source=ATLBLRDP-19\\PRIME;database=arp;uid=sa;pwd=****;");
con.Open();
SqlCommand cmd_r = new SqlCommand();
cmd_r.Connection = con;
cmd_r.CommandType = CommandType.Text;
cmd_r.CommandText = "insert into raw_mails(received_date,sender,receiver,subject,body,has_parsed,has_attachments,created_by,created_on,mail_type) Values(@received_date,@sender,@receiver,@subject,@body,@has_parsed,@has_attachments,'" + DateTime.Now + "','" + DateTime.Now + "',@mail_type)";
cmd_r.Parameters.Add("@received_date", em.DateTimeReceived);
cmd_r.Parameters.Add("@sender", em.From);
cmd_r.Parameters.Add("@receiver", em.Receiver);
cmd_r.Parameters.Add("@subject", em.Subject);
cmd_r.Parameters.Add("@body", em.Body);
cmd_r.Parameters.Add("@has_parsed", 1);
cmd_r.Parameters.Add("@has_attachments", em.HasAttachments);
cmd_r.Parameters.Add("@mail_type", 4);
cmd_r.ExecuteNonQuery();
con.Close();
我每查詢(parameters.add())所有正在檢查,但如果我嘗試插入received_date那麼只有它顯示異常。 這裏em是EmailMessage的類型。
而我正在使用SQL Server 2012用於數據庫目的。
什麼是.NET類型'DateTimeRece的ived',當你跨過時(在調試模式下),這個值是多少? – codingbiz
約會是什麼時間? SQL的數據範圍比.NET小。 – Paparazzi
您對'created_by和created_on'使用'datetime.now' ..檢查它.. – Moumit