【发布时间】:2014-03-12 03:26:44
【问题描述】:
con = new SqlConnection(cs);
con.Open();
DateTime current = DateTime.Now;
current = Convert.ToDateTime(DateTime.Now.ToString("MM/dd/yyyy hh:mm:ss"));
SqlCommand cmd = new SqlCommand(@"INSERT INTO CustomerDetails
(CustomerId, Date, Name, Gender, Address, Phone, Email, MobileNo,Notes)
VALUES ('" + txtCustomerID.Text + "','" + current + "','" +
txtCustomerName.Text + "','"+Gender+"','"+txtAddress.Text+"','" + txtPhone.Text
+ "','" + txtEmail.Text+"','" + txtMobileNo.Text + "','" +txtNotes.Text + "')",
con);
cmd.ExecuteNonQuery();
con.Close();
我在数据库中使用此代码,我的日期有 datetime 数据类型,但是当我通过表单保存数据时,它显示错误:
将 varchar 数据类型转换为 datetime 数据类型导致值超出范围。
什么是问题?为什么会出现这个错误?
【问题讨论】:
-
检查您的
Date字段,如果它确实是Date/Time数据类型或varchar,如错误所建议的那样。 -
按照 Szymon 的建议使用参数
标签: c# sql sql-server winforms