Вы не возвращаете ни один столбец с именем UserName
- вы просто возвращаете счетчик, у которого нет явного имени столбца.
Если у вас есть что-то подобное - только одно значение - вы также можете использовать метод ExecuteScalar
, который будет возвращать ровно одно значение:
using(SqlCommand Com = new SqlCommand("Total", con))
{
Com.CommandType = CommandType.StoredProcedure;
int count = (int)Com.ExecuteScalar();
}
Если вы настаиваете на использовании SqlDataReader
, вам просто нужно использовать позиционный параметр:
using(SqlCommand Com = new SqlCommand("Total", con))
{
Com.CommandType = CommandType.StoredProcedure;
using(SqlDataReader Dr = Com.ExecuteReader())
{
if (Dr.Read())
{
string Result= Dr[0].ToString(); // take value no. 0 - the first one
Lbltotal.Text = Result;
}
}
}