文本框字符串未被识别为有效的日期时间
本文关键字:有效 日期 时间 识别 字符串 文本 | 更新日期: 2023-09-27 18:32:06
我只需要一些关于以下代码的帮助。我得到字符串没有从此行重新识别为有效的日期时间。我尝试使用DateTime.TryParse,但它只是给了我错误,而Convert.ToDateTime给了我同样的错误。
if(DateTime.Parse(TextBox3.Text)>=d1 && DateTime.Parse( TextBox4.Text)<=d2) {
protected void Button1_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection("Data Source = KEVS; Initial Catalog = booking; Integrated Security = True; ");
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
SqlDataReader dr;
con.Open();
cmd = new SqlCommand("select * from booking1 where busno='" + DropDownList1.SelectedItem.Text + "'", con);
// cmd.CommandText = "Select * from booking1 where date='" + TextBox3.Text + "' and busno='" + DropDownList1.Text + "'";
dr = cmd.ExecuteReader();
if (dr.Read())
{
d1 = dr.GetDateTime(2);
d2 = dr.GetDateTime(3);
}
if(DateTime.Parse(TextBox3.Text)>=d1 && DateTime.Parse( TextBox4.Text)<=d2)
{
Label14.Text = "bus is already booked by someone";
}
要解决眼前的问题,请使用 DateTime.TryParse 而不是 DateTime.Parse,因为您正在处理用户输入。仅当您知道该值是实际的 DateTime 表示形式时,才使用 Parse。
DateTime dt3;
DateTime dt4;
if(DateTime.TryParse(TextBox3.Text, out dt3) && dt3 >=d1 && DateTime.TryParse(TextBox4.Text, out dt4) && dt4 <=d2)
然后根据需要使用 dt3
和 dt4
的值。