我无法使其发挥作用。
变量d =从我的表单中获取解析DateTime数据。
变量id =从我的表单中获取解析主键。
如果按钮单击下面执行的代码
bool flag = db.tbl_payrolls.Any(p => p.dDate == d && p.emp_id == id);
if (flag)
{
MessageBox.Show("UPDATE");
}
else
{
MessageBox.Show("INSERT");
}
我测试了我的代码,如果有一条id在日期为今天的记录,那么它将执行更新部分,否则将插入其他记录。
答案 0 :(得分:0)
由于您的列中还包含时间部分,而d
仅包含日期部分{已标注为DateTime
,因此您无法使用p.dDate == d
进行过滤。
您可以使用此方法:
DateTime fromDt = d.Date;
DateTime toDt = d.Date.AddDays(1);
bool flag = db.tbl_payrolls.Any(p => p.emp_id == id
&& p.dDate >= fromDt && p.dDate < toDt);