Синтаксическая ошибка в агрегатном аргументе в вычисляемой функции - PullRequest
0 голосов
/ 12 июня 2018

Я сталкиваюсь с этой ошибкой ": ожидание аргумента из одного столбца с возможным квалификатором 'Child'."в строке ниже.Я не могу решить проблему.В основном я пытаюсь суммировать значения столбца 'qty', где значение столбца '[BATCH NUM]' равно значению, выбранному в выпадающем списке.

sold_quantity = Convert.ToInt64(dt.Compute("Sum(Convert(QTY,'System.Int64')", "[BATCH NUM] = '"+Convert.ToInt32(comboBox3.SelectedValue)+"'"));

Ответы [ 2 ]

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

Я решил вышеупомянутую проблему с помощью LINQ, фактически проблема заключалась в том, что я не упомянул правильно тип данных столбцов.

sold_quantity = dt.AsEnumerable().Where(row => row.Field<string>("BATCH NUM") == Combo3_val.ToString()).Sum(row => Convert.ToInt32( row.Field<string>("QTY")));
0 голосов
/ 12 июня 2018

Я не смог найти прямого решения вашей проблемы, но я нашел обходной путь:

Сначала добавьте вычисляемый столбец:

dt.Columns.Add("LONGQTY", typeof(long), "CONVERT(QTY, 'System.Int64')");

Во-вторых, используйте вычисляемый столбецдля вашего вычисления:

dt.Compute("sum(LONGQTY)", "[BATCH NUM] = '"+Convert.ToInt32(comboBox3.SelectedValue)+"'")

Извините, я не могу быть более полезным.Все, что я видел, подсказывало, что ты делаешь, должно работать.

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