2013-10-16 170 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)