0

我在编译代码时遇到问题,我从编译器收到以下错误:

以下方法或属性之间的调用不明确:“ActionTracker.DataAccess.GetSpecialtyCode(string)”和 ActionTracker.DataAccess.GetSpecialtyCode

我只是在新方法中再次使用我的自定义方法。我以与此完全相同的方式使用了另一种方法,并且没有出现任何歧义错误。请问有人可以帮忙吗?我是n00b :D

namespace ActionTracker
{
  using ...
   internal class DataAccess
   { 
     internal static string GetSpecialtyCode(string name)
     {
         OleDbConnection speccconn = SetUpConnection();
         speccconn.Open();
         OleDbCommand specccmd = new OleDbCommand("SELECT Specialty_Code FROM tbl_specialty WHERE Specialty_Description = @Specialty_Description", speccconn);

         specccmd.Parameters.Add("@Specialty_Description", OleDbType.VarWChar, 255).Value = name;

         string code = (string)specccmd.ExecuteScalar();
         speccconn.Close();
         return code;
     }

     internal static string AddVisitSpecialty(string trust_name, DateTime visit_date, string visit_type, List<string> specialties)
     {
          int visit_id = GetVisitID(trust_name, visit_date, visit_type);
          OleDbConnection visitspeccon = SetUpConnection();
          visitspeccon.Open();

          foreach (string element in specialties)
          {
            string specialty_code = new GetSpecialtyCode(element);
            OleDbCommand visitspeccmmd = new OleDbCommand("INSERT INTO tbl_visit_specialty (Visit_ID, Visit_Specialty) VALUES"
            + "(@visit_id, @visit_specialty)", visitspeccon);
            visitspeccmmd.Parameters.Add("@visit_id", OleDbType.Numeric).Value = visit_id;
            visitspeccmmd.Parameters.Add("@visit_specialty", OleDbType.VarWChar, 255).Value = specialty_code;
            visitspeccmmd.ExecuteNonQuery();

           }

           visitspeccon.Close();

           string message = "Specialty(s) added to visit";
           return message;
     }

     internal static string DeleteVisitSpecialty(int visit_id, List<string> specialty_list)
     {
         OleDbConnection delvscon = SetUpConnection();
         delvscon.Open();     
         List<string> specialty_codes = new List<string>();

        foreach (string element in specialty_list)
        {
            string specialty_code = GetSpecialtyCode(element);            
            OleDbCommand delvscmd = new OleDbCommand("DELETE FROM tbl_visit_specilaty WHERE Visit_ID = @visit_id AND Visit_Specialty = @visit_specialty", delvscon);
            delvscmd.Parameters.Add("@visit_id", OleDbType.Numeric).Value = visit_id;
            delvscmd.Parameters.Add("@visit_specialty", OleDbType.VarWChar, 255).Value = specialty_code;
            delvscmd.ExecuteNonQuery();
        }

         delvscon.Close();
         string message = "Specialty(s) deleted";
         return message;
      }
   }
}
4

1 回答 1

0

我认为您的问题是这一行(来自 AddVisitSpecialty):

string specialty_code = new GetSpecialtyCode(element);

看看如果你删除那个的会发生什么。

于 2013-04-15T18:53:37.700 回答