我的代码有问题。我想在两个日期之间过滤。 这是我的代码。我正在使用Microsoft Access数据库。
private void button2_Click(object sender, EventArgs e)
{
OleDbCommand cmd = new OleDbCommand("Select * From Table2 where TransacDate between '" + dateTimePicker1.Value.ToString() + "' And '" + dateTimePicker2.Value.ToString() + "'", conn);
OleDbDataAdapter da = new OleDbDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
dataGridView1.DataSource = ds;
}
现在,我的datagridview中有一个空行。
答案 0 :(得分:2)
我最近用日期时间格式犯了同样的错误。
尝试
"MM-dd-yyyy"
而不是
"MM-dd-yyy"
答案 1 :(得分:0)
Access中的日期应由#
octothorpes括起来。
将您的代码更改为:
"Select * From Table2 where Transac_Date between #" + dateTimePicker1.Value.ToString("MM-dd-yyyy") + "# And #" + dateTimePicker2.Value.ToString("MM-dd-yyyy") + "#";
答案 2 :(得分:0)
目前还不清楚应用程序或前端生成此sql语句的内容。它看起来不像Access语法。
我建议,在Access中,使用标准查询设计视图 - 并构建一个查询,以产生您寻找的数据集。然后,您可以选择/将此查询放入SQL视图以查看语法。