2013-10-16 221 views
1

我試着查詢獲取數據(代碼如下),但它顯示我此錯誤爲特定月份和年份

No value given for one or more required parameters. 

,但在調試時我傳遞日期,因爲這

string monthYY = dateTimePickerMonth.Value.ToString("M-yy"); 

所以檢查它的正確格式是什麼,我該怎麼做?

代碼查詢

public int GetDrID_MonthWise(string DrName,string monthYY,int refDrID) 
     { 
      int data = 0; 
      try 
      { 
       string sql = "Select d.DoctorID From Doctor_Master d where d.LastName + ' ' + d.FirstName = '" + DrName + "' AND Patient_registration.RegDate='" + monthYY + "' AND Patient_registration.DoctorID=" + refDrID; 
       cmd = new OleDbCommand(sql, acccon); 
       rs = cmd.ExecuteReader(); 
       while (rs.Read()) 
       { 
        data = Convert.ToInt32(rs[0]); 
       } 
      } 
      catch (Exception err) 
      { 
       MessageBox.Show(err.Message.ToString()); 
      } 
      return data; 
     } 
+0

字符串SQL =「選擇d.DoctorID從Doctor_Master d其中d.LastName +''+ d.FirstName ='「+ DrName +」'AND Patient_registration.RegDate ='「+ monthYY +」'AND Patient_registration.DoctorID =「+ refDrID;檢查此查詢此查詢是特別問題檢查d.LastName +''+ d.FirstName ='「+ DrName +」' – SK2185

+0

沒有,這是工作正常,問題與此字符串monthYY = dateTimePickerMonth.Value.ToString(「M -yy「);'這部分'Patient_registration.RegDate ='」+ monthYY +「'' – Durga

+0

格式(dateTimePickerMonth.Value,」MM-yy「) – SK2185

回答

2

這一塊你的SQL語句的通知數據庫引擎Doctor_Master是數據源:

From Doctor_Master d 

但是,WHERE條款是指2個字段其不在Doctor_Master

  1. Patient_registration.RegDate
  2. Patient_registration.DoctorID

我不能確定你的實際需要。我的直覺是你應該INNER JOIN那些表。但我認爲你應該在Access中設計和測試查詢,並將c#留在圖片中,直到Access查詢按照你的意願工作。

+0

'Patient_registration'是我的另一個表格,我應該從哪裏寫入? – Durga

+0

在數據庫中我的列是'dateTime',我存儲日期爲'dd-mm-yy'你能告訴我如何在特定的月份和年份檢查數據庫嗎 – Durga

+0

首先修復*「No value given for一個或多個所需參數「*錯誤。這是你的問題的主題。如果在修復該錯誤後還有其他問題,則可以提交新問題。 – HansUp

0

我不知道你究竟是如何通過你的參數,但你需要的所有三個參數的上市規定值

public int GetDrID_MonthWise(string DrName,string monthYY,int refDrID)