Raja Ganapathy Ответов: 1

Как получить минимальное и максимальное количество столбцов в наборе данных?


Я должен был добавить два новых столбца в datatable и напечатать максимальное и минимальное количество столбцов datatable в этих двух столбцах, как это сделать.

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

ds.Tables[k].Columns.Add("Column52");
ds.Tables["Source" + c].AcceptChanges();
for (int f = 0; f < ds.Tables[k].Rows.Count; f++)
{
ds.Tables[k].Rows[f]["Column52"] =ds.Tables[k].Compute("MAX(Column52)","");
//double maxval = Convert.ToDouble((ds.Tables[k].Compute("MAX(Column52)", "")));
}


я попытался добавить новый столбец и получить максимальное количество столбцов, но
Объект не может быть приведен из DBNull в другие типы.
Возникает ошибка исключения.

Karthik_Mahalingam

вы пытаетесь присвоить максимальное значение всем строкам?

Raja Ganapathy

Нет, я хочу максимальное и минимальное количество столбцов datatable.

1 Ответов

Рейтинг:
0

OriginalGriff

Здесь есть две проблемы: первая заключается в том, что, как говорит Karthik Bangalore, это покажет максимальное значение во всех строках нового столбца, которое, как вы говорите, вам не нужно. Но именно это и будет делать вычисляемый столбец: показывать значение в каждой строке. Так что если это не то, что вы хотите, тогда вам нужно переосмыслить то, что вы делаете, и, вероятно, найти другой способ - это не включает в себя новую колонку!

Во-вторых, ваши данные для "Column52" являются nullable столбцом, и вы пытаетесь преобразовать нулевые значения в двойное значение, которое не будет работать, поскольку DBNull распространяется через данные, чтобы получить нулевой результат. Проверьте свои данные: почему у вас есть нулевые значения в столбце, который вы хотите сделать числовым?