我是C#的新手,也在学习。我有一个SQL Server数据库,其中我有一个表record
,其数据类型dob
的列date
。我正在尝试从我的文本框中插入dob
,其值为19-08-17
,代码如下
datebox.Text = "19-08-17";
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
SqlCommand com = new SqlCommand(query, con);
string query= "insert into record (dob) values(@db)";
com.Parameters.AddWithValue("@db", datebox.Text);
com.ExecuteNonQuery();
但是我收到了这个错误
从字符串转换日期和/或时间时转换失败。
我该如何解决这个问题?
答案 0 :(得分:0)
将变量作为参数传递给DateTime列时,需要在传递文本之前将其转换为DateTime
变量:
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].Connect ionString);
// Convert the textbox text to a DateTime variable
DateTime myDate = DateTime.ParseExact(datebox.Text, "dd-MM-yy", System.Globalization.CultureInfo.InvariantCulture);
SqlCommand com = new SqlCommand(query, con);
string query= "insert into record (dob) values(@db)";
com.Parameters.AddWithValue("@db", myDate);
com.ExecuteNonQuery();