string sql = string.Format("select * from tt where t1 between '{0}' and '{1}'", dateTimePicker1.Value, dateTimePicker2.Value);
            using (SqlConnection conn = new SqlConnection("server=.;database=test;uid=sa;pwd=123456;"))
            {
                conn.Open();                SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
                DataSet ds = new DataSet();
                sda.Fill(ds);                this.dataGridView1.DataSource = ds.Tables[0].DefaultView;
            }

解决方案 »

  1.   

    谢谢,这个只是控制时间,textbox里面有几个选择,怎样写呢?
      

  2.   

    select * from [Table-ck] where 制单日期 between '{0}' and '{1}'or  (出库单号 or 供应商 or 录入者 or 审核者 or 记账者 ='"+ txtgjz.Text+"')", dateTimePicker1.Value, dateTimePicker2.Value);
                我这样写,可是有问题,错误时这样的;在应使用条件的上下文(在 'or' 附近)中指定了非布尔类型的表达式.
      

  3.   

    (出库单号 or 供应商 or 录入者 or 审核者 or 记账者 ='"+ txtgjz.Text+"'
    这一大段错误了。
    出库单号='"+ txtgjz.Text+"' or 供应商 ='"+ txtgjz.Text+"' ......
      

  4.   

    那如果 txtgjz.Text是空的情况下也可以查询的话,怎么添加代码
      

  5.   

    string sql="select * from tt where t1 between '"+dateTimePicker1.Value+"' and '"+dateTimePicker2.Value+"'"
     if(txtgjz.Text!="")
    {
    sql+=" And 出库单号='"+ txtgjz.Text+"' or 供应商 ='"+ txtgjz.Text+"' ......";
    }
      

  6.   

    LZ你不应该用TEXTBOX 应该用DropDownList6个选项第一个默认为空其他5个就是你的出库单号 供应商  录入者  审核者  记账者这样你的查询语句就简单了 
    根据你DropDownList的值 string sql = string.Format("select '{0}' from tt where time between tm1 and tm2",DropDownList.Text)
      

  7.   

    不是这样的,我在textbox输入的是数据库里面的数据,不是单纯的选择,不过还是谢谢你的解答,