在数据库里面能查询到,但C#按日期筛选后,却查询不到;

请问,我用C#导入数据库的数据,在sql查询能看到,但用c#的日期筛选后,却看不到,请问是什么原因呢,我的代码及相关截图如下,请指导;

img

img


```c#
 private void btnsearch_Click(object sender, EventArgs e)
        {                       
                    conn = new SqlConnection("server=192.168.100.247;database=Whmesinfo;user=sa;password=whyy@2021");

                    conn.Open();

                    SqlString = @"select * from w_Qctableg where name like '%" + textBox3.Text + "%' and batchNo like '%"
                        + textBox1.Text + "%'  and region like '%"
                        + textBox4.Text + "%' and name like '%"
                        + textBox2.Text + "%' and [sampledate] >= '" + dateTimePicker1.Value.ToString("yyyy-MM-dd HH:mm:ss") + "'and [sampledate] <= '" + dateTimePicker2.Value.ToString("yyyy-MM-dd HH:mm:ss") + "' order by sampledate asc ";

                    //加载数据并显示

                    try
                    {
                        //查询条件和SqlConnection连接
                        SqlCommand cmd = new SqlCommand(SqlString, conn);
                        //数据适配器
                        SqlDataAdapter sda = new SqlDataAdapter();
                        sda.SelectCommand = cmd;

                        DataSet ds = new DataSet();
                        sda.Fill(ds, "w_Qctableg");

                        dt = ds.Tables["w_Qctableg"];
                        dataGridView1.DataSource = null;
                        dataGridView1.DataSource = dt.DefaultView;

                        this.dataGridView1.DefaultCellStyle.WrapMode = DataGridViewTriState.True;//让查询的数据换行显示;
                        dataGridView1.Columns[0].Visible = false;

                        dataGridView1.Columns[0].HeaderText = "id";
                        dataGridView1.Columns[1].HeaderText = "取样日期";
                        dataGridView1.Columns[2].HeaderText = "报告日期";
                        dataGridView1.Columns[3].HeaderText = "名称";
                        dataGridView1.Columns[4].HeaderText = "批号";
                        dataGridView1.Columns[5].HeaderText = "取样点";
                        dataGridView1.Columns[6].HeaderText = "取样部位";
                        dataGridView1.Columns[7].HeaderText = "检验编号";
                        dataGridView1.Columns[8].HeaderText = "区域";
                        dataGridView1.Columns[9].HeaderText = "纯化水/设备擦拭需氧菌(cfu/ml或cfu/25cm²)";
                        dataGridView1.Columns[10].HeaderText = "设备擦拭霉菌及酵母菌(cfu/25cm²)";
                        dataGridView1.Columns[11].HeaderText = "压缩空气菌落总数(cfu/皿)";
                        dataGridView1.Columns[12].HeaderText = "表面微生物菌落数(cfu/碟)Ø55mm";
                        dataGridView1.Columns[13].HeaderText = "沉降菌落数(cfu/皿)";
                        dataGridView1.Columns[14].HeaderText = "浮游菌菌落数(cfu/m³)";
                        dataGridView1.Columns[15].HeaderText = "检验结论";
                        dataGridView1.Columns[16].HeaderText = "备注";

                    }
                    catch
                    { }
                    finally
                    {
                        conn.Close();
                    }

                }

```

名称、批号等那些查询条件模糊查询没传就从sql中排除掉

断点,把sql复制出来,放到客户端里看看到底长什么样子,然后执行一下看到底哪行报错
拼接sql的时候,判断一下,如果文本框为空就别把内容拼接进去,否则容易出bug

我将模糊查询的条件去掉,就可查询到了,但这是为什么呢,而且我们还需要这些模糊查询的条件,请各位老师再指导一下;