C#数据库将表中的一个日期/时间字段与今天进行比较

时间:2017-05-05 10:10:50

标签: c# database datetime

为了简化故事,我有一张桌子,里面有一个日期/时间类型的栏目。我使用MS Acces 2013来创建数据库。现在,我需要在我的应用程序中的某个点检查并删除日期小于今天的所有记录。假设conn是我与数据库的连接。我写道:

conn.Open(); 
string delRec = "DELETE FROM myTable WHERE myDateTimeColumn < '" + DateTime.Now + "'";
ExecQuery(delRec);
conn.Close();

如果我用字符串替换字符串,请说:

string delRec = "DELETE FROM myTable WHERE anIntColumn < 21";
一切都运行得很好。我究竟做错了什么?非常感谢。

2 个答案:

答案 0 :(得分:0)

ACCESS无法识别为WHERE子句中传递的日期。

conn.Open();
string delRec = "DELETE FROM myTable WHERE myDateTimeColumn < '#" + DateTime.Now + "#'";
ExecQuery(delRec);
conn.Close();

可能还有一点要检查是否在where子句参数中传递了相同的日期格式。例如'YYYY / MM / DD'

你能试试这个。希望这会有所帮助

答案 1 :(得分:0)

您是否尝试过DateTime.Now.Day方法 即。

public static void processCar(ArrayList<Car> cars){ int totalAmount=0; for (int i=0; i<cars.size(); i++){ cars.get(i).computeCars (); totalAmount=+ ?? // in need to add the computed values of totalprice from the Car class? } }

希望它会对你有所帮助。