Member 13894029 Ответов: 1

Как я могу получить сумму всех значений в столбце SQL server


Я получаю ошибку, когда в этом столбце есть десятичная дробь. Как я могу получить сумму всех денег, даже если она десятичная?

Что я уже пробовал:

int A = 0, B = 0;
для (A = 0; A < stocksdg.Rows.Count; ++A)
{
B += Конвертировать.ToInt32(stocksdg.Rows[A].Ячейки[4].Значение);

}
Всего денег.Текст = Б. Метод ToString();

1 Ответов

Рейтинг:
2

OriginalGriff

Два пути:
1) Не допускайте нецелочисленных значений в ваших столбцах. Это будет зависеть от того, откуда берутся данные: если это БД, то вам нужен столбец INT, а не VARCHAR или NVARCHAR. Если это пользовательский ввод, то проверьте его, когда пользователь вводит его, и объясните ему, что не так.

2) Не используйте Convert - вместо этого используйте TryParse.

int i;
if(!int.TryParse(stocksdg.Rows[A].Cells[4].Value.ToString(), out i))
   {
   ... report problem to user, log it, whatever is appropriate ...
   return;
   }
B += i;

Лучшее решение-это сочетание двух методов: validate и TryParse.