Отразить сумму столбца в метке на WinForm - PullRequest
0 голосов
/ 29 июня 2018

Я хочу отразить сумму столбца в метке на WinForm. Я не знаю, что не так с этим кодом:

private void btnT_Click(object sender, EventArgs e)
{
 SqlConnection cn = new SqlConnection("data source = TURKY-PC ; initial 
 catalog = coffeeshopDB ; integrated security = true ; ");            
 SqlCommand cmd;                      
 SqlDataReader dr;        
 cmd = new SqlCommand("select SUM (cost) from billTB", cn);             
 cn.Open();       
 dr = cmd.ExecuteReader();    
 while (dr.Read())            
   {                
     btnT.Text = dr["cost"].ToString();     
   }         
  dr.Close();      
  cn.Close();       
}

Появляется исключение ошибки: System.IndexOutOfRangeException: 'cost'

1 Ответ

0 голосов
/ 29 июня 2018

Если вы собираетесь ссылаться на столбец по имени, вы должны назвать результат SUM. Вам также не нужен цикл в этом случае, потому что вы знаете, что есть только одна строка.

private void btnT_Click(object sender, EventArgs e)
{
 SqlConnection cn = new SqlConnection("data source = TURKY-PC ; initial 
 catalog = coffeeshopDB ; integrated security = true ; ");            
 SqlCommand cmd;                      
 SqlDataReader dr;        
 cmd = new SqlCommand("select SUM (cost) as TotalCost from billTB", cn);             
 cn.Open();       
 dr = cmd.ExecuteReader();    
 dr.Read();            
 btnT.Text = dr["TotalCost"].ToString();     
 dr.Close();      
 cn.Close();       
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...