asp.net sql数据库时间的比较

asp.net sql数据库时间的比较

问题描述:

图片说明 conn.Open();
DateTime startime = DateTime.Parse(this.d4311.Text);
DateTime endtime = DateTime.Parse(this.d4312.Text);
string Sqlstr = " select * from RoomStatus where ((InTime > '" + startime + "' AND InTime< '" + endtime + "') OR(InTime < '" + startime + "' AND OutTime > '" + endtime + "') OR(OutTime > '" + startime + "' AND OutTime < '" + endtime + "')";
//select * from Room where RId not in
//string sqlstr = "select * from room where rtypeid ='" + DropDownList1.Text + "'";
SqlDataAdapter da = new SqlDataAdapter(Sqlstr, conn);
DataSet ds = new DataSet();
da.Fill(ds, "Room");
GridView1.DataSource = ds;
GridView1.DataBind();

            这段代码会报错
            比较的代码有什么问题吗
            datetime的格式有什么问题

Sqlstr字符串定义时最后少了一个括号。DateTime的格式看不出来啥问题,语法是没错的。

DateTime startime = DateTime.Parse(this.d4311.Text);
DateTime endtime = DateTime.Parse(this.d4312.Text); 这二句调试不出错,就没有问题

这个问题很好解决,你将string Sqlstr行设置一个断点,然后,将Sqlstr的内容拷贝出来,放到sql server管理器中执行一下就知道哪里错了!

DateTime没看出来有啥问题,就是这样用的

时间对比sql语句中少了后括号