从asp.net中的文本框插入日期时出错

时间:2017-08-19 12:31:28

标签: c# sql asp.net

我是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();

但是我收到了这个错误

  

从字符串转换日期和/或时间时转换失败。

我该如何解决这个问题?

1 个答案:

答案 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();