我的代码如下
 private void button3_Click(object sender, EventArgs e)
        {
            string str = dateTimePicker1.Text.Trim();
            SqlConnection con = new SqlConnection(@"server=.;database=CTGL;Integrated Security=sspi;");
            con.Open();
            SqlDataAdapter da = new SqlDataAdapter("select orderid,tbnum, sum(price)as allprice,svdate,svcnum from zhangdan group by orderid,svcnum,tbnum,svdate, having svdate ='" + str + "'", con);
            DataSet ds = new DataSet();
            da.Fill(ds);
            dataGridView1.DataSource = ds.Tables[0];
            con.Close();
        }
我这样只能查询到同一时间的内容。不能查找其他该日发生的内容。。我要怎么改呢?请各位大侠帮帮忙

解决方案 »

  1.   

    把数据库的日期字段,转成 YYYYMMDD 的字符串,再和外部比较"select orderid,tbnum, sum(price)as allprice,svdate,svcnum from zhangdan group by orderid,svcnum,tbnum,svdate, having svdate ='" + str + "'"比如:// 注意从DatePicker取值也要转成相同的yyyyMMdd格式字符串
    string str = dateTimePicker1.Value.ToString("yyyyMMdd");// sql 部分:
    "... having CONVERT(varchar(100), svdate, 112) ='" + str + "'"
      

  2.   

    string str = dateTimePicker1.Value.ToShortDateString()
      

  3.   

    执行时有错误说 having 附近有语法错误
      

  4.   

    having CONVERT(varchar(10), svdate, 120) ='" + str + "'
      

  5.   

    执行后说HAVING 附近有语法错误。
      

  6.   

    svdate, having svdatehaving 之前有逗号