【发布时间】:2013-04-16 03:06:35
【问题描述】:
我在编译代码时遇到问题,我从编译器收到以下错误:
以下方法或属性之间的调用不明确:'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;
}
}
}
【问题讨论】:
-
您是否有一个名为
GetSpecialtyCode或类似名称的属性? -
你在两个不同的地方定义了
GetSpecialtyCode。 -
而另一个定义不在您复制的这段代码中。
-
我没有任何属性
-
在整个解决方案中选择 MatchCase 选项的“GetSpecialtyCode”文件中查找。
标签: c#