我的aspx页面上有2个TXT,点击用JS弹出日期控件。日期的格式为'2010-5-10'  string start = data_begin.Text.ToString();
string end = data_end.Text.ToString();
 string sql = "select * OdrItems where [Time] between '" + start + "' and '" + end + "'";start=2010-5-10
end=2010-5-11
为什么从数据库查不出数据?求高人解答

解决方案 »

  1.   

    string sql = "select * from OdrItems where [Time] between '" + start + "' and '" + end + "'";
      

  2.   

    string sql = string.Format("select * from OdrItems where [Time] between '{0}' and '{1} 23:59:59'", start, end);
      

  3.   


    string sql = "select * OdrItems where [Time] >='" + start + "' and [Time] <='" + end+ "'";
    试试
      

  4.   

    string sql = "select * from OdrItems where [Time] between #" + start + "' and '" + end + "#";
      

  5.   

    上楼有遗漏,不好意思。在 SQL 语句中,日期时间直接量应该使用 # 括起来,string sql = "select * from OdrItems where [Time] between #" + start + "# and #" + end + "#";
      

  6.   

    string sql=string.Format("select * OdrItems where [Time] between '{0}' and '{1}'",start,end);
    查询分析器执行
      

  7.   


    呵呵 如梦哥威武
    我感觉这里是不需要强制转换下
    试试这个string sql = "select * OdrItems where [Time] between cast('" + start + "' as datetime) and cast('" + end + "' as datetime)";
      

  8.   

    数据库中应该是存的是日期加时间型的,你这边只有日期而已,所以就没有数据出来,可以在start和end再加个时间,或者在sql语句中将日期字段先转成只包含日期不包含时间的,再来比较就可以了
      

  9.   

    sql语句都错了,为什么不报错呢?
      

  10.   

    Dim days As String
    days = Now.Year & "-" & Now.Month & "-" & Now.Day
    SQL = "Select count(ID) from A_Dingdan where datediff(day,A_Dingdan.A_Time,'" & days & "')=0"
      

  11.   

    楼主可以考虑下参数化:
    把这2格个值作为参数带入。string sql = "select * OdrItems where [Time] between   @start   and  @end";
    SqlCommand cmd=new SqlCommand(sql,con);
    cmd.Parameters.Add("@start",SqlDbtype.datetime).Value=DateTime.Parse(start);
    cmd.Parameters.Add("@end",SqlDbtype.datetime).Value=DateTime.Parse(end);代码手打,可能有点问题。
      

  12.   

    我找到了,是因为and后面的日期只到今天0点0时0分的,要手动往它上面加一天才行
      DateTime endTime = Convert.ToDateTime(data_end.Text.ToString()).AddDays(1);
    这个就是正确的