我用的时间插件:my97,有两个input都是那种Run="server"的模式。现在做了输出测试KS的结果是:
"2010-08-31",我数据库里数据格式是:"2010-8-24 10:58:35"。
我用的datediff控制但是现在选择其他日期会返回:"没有相关赠奖记录!"
查询语句是"select * from zj_leiji_mingxi where datediff(d,'"+ks+"',input_time)=0";
如果选中了2010-8-24这天就不出::"没有相关赠奖记录!" 但是也不会输出这一条数据。
如果去掉查询条件:"select * from zj_leiji_mingxi";"
输出就没有任何问题。
public partial class _Default : System.Web.UI.Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {
       
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        
        SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["conn"]);
        string cx_qc = qc.Text;
        string cx_sp = sp.Text;
        string ks = ksrq.Value;
        string jz = jzrq.Value;
        string sql = "select * from zj_leiji_mingxi where datediff(d,'"+ks+"',input_time)=0";
        SqlCommand command = new SqlCommand(sql, conn);
        conn.Open();
        SqlDataReader rs = command.ExecuteReader();
        if (rs.HasRows && rs.Read())
        {
            while (rs.Read())
            {
                Response.Write("赠奖组别:" + rs["input_time"] );
            }
        }
        else
        {
                Response.Write("没有相关赠奖记录!");
                
        }
               
    }
}

解决方案 »

  1.   

    "select * from zj_leiji_mingxi where convert(char(10),input_time,120)='"+ks+"'";
      

  2.   

    看得不太明白,是两个日期控件表示开始日期和结束日期,然后查出这时间段内的记录吗?
    sql = "查询语句 where 1=1 "判断有没选择开始日期,有则
    sql += and 表日期字段 > 开始日期.AddDays(-1) 判断有没选择结束日期,有则
    sql += and 表日期字段 < 结束日期.AddDays(1) 
      

  3.   

    是两个日期控件“dai biao”开始日期和结束日期,dai biao 竟然提示“您的回复正文中有非法词或词组!"......
      

  4.   

    将输入的时间转化成完整的时间格式
    string ks = ksrq.Value;这句换成 =>
    string ks=DateTime.ParseExact( ksrq.Value, "yyyy-MM-dd HH:mm:ss", null ).ToString();
      

  5.   

     我做的直接between and或者比大小就可以,数据类型是datatime的
      

  6.   

     where datediff(d,'"+ks+"',input_time)=0"; 
    肯定是这里出错了,datediff 的参数有问题,下面两个之一可解决这个问题:1. d 改成 dd 或者 day 试一试2. '"+ks+"' 改成  cast('"+ ks.tostring().trim() +"' as datetime)
      

  7.   

    我们全部悲剧了 
    rs.hasrows&&rs.read()
    改成
    rs.hasrows
    就好了