如何使用 ms 访问在 C# 中的两个日期之间 select 数据

How to select data between two dates in C# using ms access

我想知道如何select两个日期之间的数据我正在使用查询但我得到空数据请帮助我 我尝试过的:

DataSet dsa = new DataSet();
DataTable dt1 = new DataTable();
dsa.Tables.Add(dt1);
OleDbDataAdapter da = new OleDbDataAdapter();
da = new OleDbDataAdapter("SELECT [Column1],[Column2],[Column3],[Date],[Receipt No],[Delivery Person] from [Total] Where [Date] between " + dateTimePicker2.Value.ToShortDateString() + " AND #" + dateTimePicker3.Value.ToShortDateString() + "#", VCON);
da.Fill(dt1);

正如史蒂夫所说,您可以像这样使用参数:

DataSet dsa = new DataSet();
DataTable dt1 = new DataTable();
dsa.Tables.Add(dt1);
OleDbDataAdapter da = new OleDbDataAdapter();
da = new OleDbDataAdapter("SELECT [Column1],[Column2],[Column3],[Date],[Receipt No],[Delivery Person] from [Total] Where [Date] between @DateStart AND @DateEnd", VCON);
da.SelectCommand.Parameters.AddWithValue("@DateStart", dateTimePicker2.Value);
da.SelectCommand.Parameters.AddWithValue("@DateEnd", dateTimePicker3.Value);
da.Fill(dt1);

显然很难说为什么您在没有看到您查询的数据的情况下没有检索到任何结果...例如两个选定日期之间是否真的有任何数据?

作为快速观察,您似乎确实在 dateTimePicker2 周围遗漏了几个“#”字符:

"SELECT [Column1],[Column2],[Column3],[Date],[Receipt No],[Delivery Person] from [Total] Where [Date] between #" + dateTimePicker2.Value.ToShortDateString() + "# AND #" + dateTimePicker3.Value.ToShortDateString() + "#"