2016-09-05 27 views
0

我無法使其工作。如何使用LinQ to SQL檢查表中是否存在數據

變量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的記錄,其中日期是今天那麼它將執行更新部分其他記錄將被插入。

+3

' - 這不就是這個代碼*打算*做什麼?究竟是什麼問題? – David

+0

'dDate'是否存儲包括時間部分或僅日期的日期時間? –

+0

@大衛是這是我想實現的,但是當我輸入帶有數據的日期時,它應該通過更新部分,但它只是通過INSERT部分 –

回答

0

由於您的列還包含時間部分和dDateTime只有日期部分(如註釋)你不能p.dDate == d過濾。

您可以使用此方法:「如果有關於ID的記錄,其中日期是今天那麼它將執行更新部分其他記錄將被插入」`

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); 
+0

您好Mr.Tim我回答您的問題是否日期時間僅存儲日期或日期與時間。我的答案是日期時間商店的日期和時間。以下是樣本輸出:2016-09-04 00:00:00.000 –

相關問題