asp.net(c#)中,如何在点击日历(calendar)时可以显示当天所有时间段的信息呢????
.net中,以下图为例,点击日历中的2月2号,显示的只有2月2号0:00:00的信息,而2月2号其它时间段的信息显示不了,请问如何解决呢?原代码如下:protectedv...
.net 中,以下图为例,点击日历中的2月2号,显示的只有2月2号0:00:00的信息,而2月2号其它时间段的信息显示不了,请问如何解决呢?
原代码如下:
protected void Calendar1_SelectionChanged(object sender, EventArgs e)
{
//创建数据库连接并打开
SqlConnection con = new SqlConnection("server=.;database=CLDD;uid=sa;pwd=;");
con.Open();
string sqlStr1 = "select * from [车辆调度] where 出车时间=" + "'" + Calendar1.SelectedDate + "'";
SqlCommand com1 = new SqlCommand(sqlStr1, con);
SqlDataSource2.SelectCommand = sqlStr1;
SqlDataSource2.DataBind();
GridView1.DataBind();
con.Close();
} 展开
原代码如下:
protected void Calendar1_SelectionChanged(object sender, EventArgs e)
{
//创建数据库连接并打开
SqlConnection con = new SqlConnection("server=.;database=CLDD;uid=sa;pwd=;");
con.Open();
string sqlStr1 = "select * from [车辆调度] where 出车时间=" + "'" + Calendar1.SelectedDate + "'";
SqlCommand com1 = new SqlCommand(sqlStr1, con);
SqlDataSource2.SelectCommand = sqlStr1;
SqlDataSource2.DataBind();
GridView1.DataBind();
con.Close();
} 展开
3个回答
展开全部
Hour(出车时间)= Calendar1.SelectedDate.hour
我没测试,原理是这样。
tring sqlStr1 = "select * from [车辆调度] where hour(出车时间)=" + "'" + Calendar1.SelectedDate + "'";
我没测试,原理是这样。
tring sqlStr1 = "select * from [车辆调度] where hour(出车时间)=" + "'" + Calendar1.SelectedDate + "'";
追问
hour是自己定义的??
追答
兄弟对不起,没有理解的很透彻。
今早上再看了一遍问题。
使用这个函数:datediff(day,date1,date2)
查询语句:select * from cars where datediff(day,出车时间,date1)
具体:select * from cars where datediff( day,出车时间," + "'" + Calendar1.SelectedDate.Date.ToString() + "')=0"
本地已经测试成功。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不知道你注意了没有,SelectedDate:只是选择的日期。这个控件是没时间的。所需要你在添加几个控件来选择时间。很简单,3个下拉菜单。或者使用DateTime.Now.TimeOfDay.ToString();来获取当前时间。
同样的在你保存时,如果没有时间,sql数据库会默认设为0:00:00
同样的在你保存时,如果没有时间,sql数据库会默认设为0:00:00
更多追问追答
追问
我的想法是用一个and 的语句
string sqlStr1 = "select * from [车辆调度] where 出车时间 >=" + "'" + Calendar1.SelectedDate + "' and 出车时间 < "+ "'" +Calendar1.SelectedDate +"'+ "+1"" ;
但是这样写是错误的,因为没法直接转换,请问该怎么改呢?
追答
同一字段的条件,需要使用between and 来连接.而且需要保证出车时间这个字段是datetime类型,而非nvarchar类型
string sqlStr1 = "select * from [车辆调度] where 出车时间 between " +Calendar1.SelectedDate + " and " +Calendar1.SelectedDate ;
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询