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;
        }
4

2 回答 2

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 查询按您的意愿工作。

于 2013-10-16T15:40:45.533 回答
0

我不确定您是如何传递参数的,但您需要为列出的所有三个参数指定值

public int GetDrID_MonthWise(string DrName,string monthYY,int refDrID)
于 2013-10-16T15:40:56.563 回答