我在Access数据库中有一个名为Recharge的表。
部分字段为RechargeDate,Account,Number等。
我想检索两个日期之间的所有记录,因此我编写了以下查询:
string Query = "select * from Recharge where Account='" + comboBox1.Text + "'
and RechargeDate between '"+dateTimePicker1.Value.Date.ToShortDateString()+"' and '"+dateTimePicker2.Value.Date.ToShortDateString()+"'"
查询运行正常,但我遇到的唯一问题是我只能从一个月中检索日期。
如果我要求包含超过一个月的跨度记录,我就无法获得正确的结果。
任何帮助?
查询执行得很好但问题是我只能在单个月的日期之间获取详细信息,如果起始月份和结束月份不同我无法得到正确的结果plzz帮助我
答案 0 :(得分:3)
也许你遇到了一些字符串日期格式问题;试试这段代码:
OleDbCommand command = new OleDbCommand(
"SELECT * FROM Recharge " +
"WHERE Account=@Account and " +
"RechargeDate between @RechargeDateStart AND @RechargeDateEnd");
command.Parameters.AddWithValue("@Account", comboBox1.Text);
command.Parameters.AddWithValue("@RechargeDateStart",dateTimePicker1.Value.Date);
command.Parameters.AddWithValue("@RechargeDateEnd" ,dateTimePicker2.Value.Date);
BTW,你不应该尝试连接SQL命令,因为这会导致SQL注入攻击。
答案 1 :(得分:0)
我已经成功使用了这个,Recharge >= Date1 and Recharge <= Date2
我没有使用between
也许它更有效率,但我使用前者。