select 在 c# 中按日期从 ms access 数据库中获取数据

select data from ms access database by date in c#

我想 select 在 c# 中从 ms access 数据库获取数据 我使用这个查询

da = new OleDbDataAdapter(
    "SELECT [Column1],[Column2],[Column3],[Date] from [Total] Where [Date] between #" 
        + dateTimePicker2.Value.ToString() 
        + "# AND #" 
        + dateTimePicker3.Value.ToString() 
        + "#", 
    VCON);

是return我 null 请帮助我。

您必须像这样格式化日期:

dateTimePicker2.Value.ToString("yyyy/MM/dd")

你也可以这样做:

da = new OleDbDataAdapter(
        "SELECT [Column1],[Column2],[Column3],[Date] from [Total] Where [Date] between "
            + dateTimePicker2.Value.ToString("#yyyy/MM/dd#")
            + " AND "
            + dateTimePicker3.Value.ToString("#yyyy/MM/dd#") ,
        VCON);

但是,我建议您使用参数来避免 SQL 注入,如下所示:

string query = "SELECT [Column1],[Column2],[Column3],[Date] from [Total] Where [Date] " +
               "BETWEEN @startDate AND @endDate";
OleDbCommand cmd = new OleDbCommand(query, VCON);
cmd.Parameters.AddWithValue("@startDate ", DbType.DateTime).Value = 
                                            dateTimePicker1.Value.ToString("yyyy/MM/dd");
cmd.Parameters.AddWithValue("@endDate ", DbType.DateTime).Value = 
                                            dateTimePicker2.Value.ToString("yyyy/MM/dd");
da = new OleDbDataAdapter(cmd);