2015-05-26 12 views
-2

У меня есть эта цитата, и он продолжает показывать мне ошибку:Нет перегрузки метода «(метод)» принимает один аргумент

no overload for method `getDistinctRegister5' takes 1 argument.

private int getDistinctRegister5(string module, string sij) 
    { 
     string dateFrom = TbDateFrom.Text.Trim(); 
     string dateTo = TbDateTo.Text.Trim(); 

     string strConnectionString = ConfigurationManager.ConnectionStrings["SilverInfocomm"].ConnectionString; 
     SqlConnection myConnect = new SqlConnection(strConnectionString); 
     string sql = "SELECT COUNT(DISTINCT NRIC) FROM REGISTER WHERE Module='" + module + "' AND SIJ='" + sij + "'"; 

     if (dateTo != "" && dateTo != "") 
     { 
      sql += "AND Date>= CONVERT(DATETIME,'" + dateFrom + "',103) AND Date <= CONVERT(DATETIME,'" + dateTo + "',103)"; 
     } 

     else if (dateFrom != "") 
     { 
      sql += "AND DATE= CONVERT(DATETIME,'" + dateFrom + "',103)"; 
     } 

     SqlCommand cmd = new SqlCommand(sql, myConnect); 
     myConnect.Open(); 
     int numrows = (int)cmd.ExecuteScalar(); 
     myConnect.Close(); 
     return numrows; 
    } 


protected void GetSIJDetails() 
    { 
     SIJDetailsDT = new DataTable(); 
     SIJDetailsDT.Columns.Add("SIJ", typeof(string)); 
     SIJDetailsDT.Columns.Add("MODULE", typeof(string)); 
     SIJDetailsDT.Columns.Add("PLACES", typeof(string)); 
     SIJDetailsDT.Columns.Add("UNIQUE", typeof(string)); 
     SIJDetailsDT.Columns.Add("TOTALUNIQUE", typeof(string)); 
     SIJDetailsDT.Columns.Add("NON-UNIQUE", typeof(string)); 
     SIJDetailsDT.Columns.Add("TOTALNONUNIQUE", typeof(string)); 

     DataTable SIJTmp = new DataTable(); 
     string strConnectionString = ConfigurationManager.ConnectionStrings["SilverInfocomm"].ConnectionString; 
     SqlConnection myConnect = new SqlConnection(strConnectionString); 
     SqlCommand cmd = new SqlCommand("Select DISTINCT SIJ, Module FROM Register", myConnect); 
     myConnect.Open(); 
     SqlDataReader reader = cmd.ExecuteReader(); 
     SIJTmp.Load(reader); 
     reader.Close(); 
     myConnect.Close(); 

     foreach (DataRow dr in SIJTmp.Rows) 
     { 
      int PlacesSIJ = getPlacesSIJ(dr["SIJ"].ToString()); 
      int DistinctRegister4 = getDistinctRegister4(dr["SIJ"].ToString()); 
      int TotalRegister4 = getTotalRegister4(dr["SIJ"].ToString()); 
      int DistinctRegister5 = getDistinctRegister5(dr["Module"].ToString()); 
      int TotalRegister2 = getTotalRegister2(dr["Module"].ToString()); 
      SIJDetailsDT.Rows.Add(dr["SIJ"], dr["Module"], PlacesSIJ.ToString(), DistinctRegister5.ToString(), DistinctRegister4.ToString(), TotalRegister2.ToString(), TotalRegister4.ToString()); 
     } 
    } 

линия, которая выскакивают ошибки является

int DistinctRegister5 = getDistinctRegister5(dr["Module"].ToString()); 
+1

Это довольно просто. Ваш метод getDistinctRegister5 принимает 2 аргумента не один. – deathismyfriend

+0

Пояснение для [CS1501] (https://msdn.microsoft.com/en-us/library/d9s6x486.aspx) ошибки имеет образец. Пожалуйста, обновите свое сообщение с информацией о том, что неясно об ошибке. –

+0

Я точно не знаю, как решить эту ошибку, потому что мой сетчатый вид создается вручную (по столбцу) @AlexeiLevenkov –

ответ

0

Ваш метод getDistinctRegister5 имеет два параметра: module и sij.

Вы должны предоставить как при вызове метода,

0

вы звоните getDistinctRegister5 функцию только с одним аргументом здесь.

int DistinctRegister5 = getDistinctRegister5(dr["Module"].ToString()); 

Но в определении функции есть два аргумента. Таким образом, вы должны передать два аргумента, вызывая их.

Определение функции

int getDistinctRegister5(string module, string sij)