Получение количества строк в DataTable с переменной - PullRequest
0 голосов
/ 11 мая 2018

Я хочу получить количество строк в моей таблице данных, которые соответствуют определенным критериям. Моя проблема (я думаю) заключается в том, что я пытаюсь использовать имя столбца как часть оператора Select. Итак, вот что у меня есть:

string twodigmonth = DateTime.Now.ToString("MM");
DataRow[] Test= dataTable1.Select(" " + dateasstring.Split('/')[0] + " = " + "'" + twodigmonth + "'");

Я получаю ошибку компиляции:

Имя dateasstring не существует в текущем контексте.

Но у меня в таблице данных есть столбец с строковым типом данных с именем this.

DataTable dataTable1 = new DataTable();
dataTable1.Columns.Add("dateasstring", typeof(string));

1 Ответ

0 голосов
/ 11 мая 2018

Вместо того, чтобы возиться со странным и старым синтаксисом DataTable.Select, почему бы вам не использовать современный и гораздо более мощный LINQ?

int currentMonth = DateTime.Today.Month;
int matchingRows = dataTable1.AsEnumerable()
 .Count(r => DateTime.Parse(r.Field<string>("dateasstring")).Month == currentMonth);

Я бы сохранил dateasstring как реальный DateTime, тогда вам не нужно разбирать его каждый раз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...