C# 如何使用两个日期之间的日期从数据库中获取数据

C# 如何使用两个日期之间的日期从数据库中获取数据,c#,datagridview,oledb,ms-access-2010,datetimepicker,C#,Datagridview,Oledb,Ms Access 2010,Datetimepicker,我的工作正在进行中,它在DataGridView中输出我的表列名,但是我的数据没有显示,我在这里缺少了它们的某些内容吗 private void button1_Click(object sender, EventArgs e) { DateTime dt = this.dateTimePicker1.Value.Date; DateTime dt2 = this.dateTimePicker1.Value.Dat

我的工作正在进行中,它在DataGridView中输出我的表列名,但是我的数据没有显示,我在这里缺少了它们的某些内容吗

        private void button1_Click(object sender, EventArgs e)
        {
            DateTime dt = this.dateTimePicker1.Value.Date;

            DateTime dt2 = this.dateTimePicker1.Value.Date;

            command.CommandType = CommandType.Text; 
           command.CommandText = ("SELECT * FROM BillingSystem WHERE DateOfTransaction BETWEEN #" + dt.ToShortDateString() + "# AND #" + dt2.ToShortDateString() + "#");

           OleDbDataAdapter adapter = new OleDbDataAdapter(command.CommandText, connectionBilling);
           DataSet ds = new DataSet();

           adapter.Fill(ds);
           dataGridView1.DataSource = ds.Tables[0];
           connectionBilling.Close();

            }

嗯,我看到这两个日期是相同的(也许你想在BETWEEN语句中加上一整天)。因此,我会尝试将查询更改为使用参数化查询,而不是字符串连接,并修复日期包含部分

   private void button1_Click(object sender, EventArgs e)
   {
        string cmdText = "SELECT * FROM BillingSystem " + 
                         "WHERE DateOfTransaction BETWEEN ? AND ?";

        DateTime dt = this.dateTimePicker1.Value.Date;
        DateTime dt2 = this.dateTimePicker1.Value.Date.AddMinutes(1440);
        command.CommandText = cmdText;
        command.Parameters.AddWithValue("@p1",dt1);
        command.Parameters.AddWithValue("@p2",dt2);
        OleDbDataAdapter adapter = new OleDbDataAdapter(command, connectionBilling);
        DataSet ds = new DataSet();
        adapter.Fill(ds);
        dataGridView1.DataSource = ds.Tables[0];
        connectionBilling.Close();
    }
请注意,我为您的第二次约会增加了1440分钟(24小时)。
这将允许在中间语法中包含一整天,因为Access还将时间部分存储在DateOfTransaction字段中,如果没有此修复,任何日期都不会与查询匹配(除非某些传输恰好发生在午夜)


另外,参数化查询不需要指定日期周围的任何格式(也不需要Sql注入)

如果对相同的日期时间变量使用BEVER子句,它将如何工作。请为dt2选择另一个日期时间选择器。ohhh废话太好笑了,仍然感谢您LOL@Anandit CANGES,如果对你有效,增加我的评论。