Определение длины поля столбца в таблице данных - PullRequest
2 голосов
/ 06 июня 2009

У меня есть DataTable, который я заполнил с помощью метода Dataset.ReadXML (). Я пытаюсь программно определить максимальную длину поля для каждого столбца в Dataatable. Значение MaxLength для всех моих столбцов всегда по умолчанию равно -1.

Есть мысли или примеры о том, как определить правильную максимальную длину? может быть исходя из фактических данных в таблице? (Datatable может быть в столбце 25 с диапазоном строк 200 000+)

C # 2.0

Ответы [ 2 ]

2 голосов
/ 06 июня 2009

Я не совсем понимаю, каковы ваши цели - что вы пытаетесь выяснить? Количество байтов, которое будет использовать данный столбец (например, 4 для INT, 8 для BIGINT и т. Д.), Или фактическая текущая максимальная длина, например. все строки в столбце "ColA"?

Что касается INT и других числовых и булевых типов - они имеют фиксированную системную длину - никаких проблем там нет.

Если ваш XML не имеет схемы (XSD-файл), которая ограничивает длину строк, строковые поля из XML могут быть любой длины, действительно, поэтому после их чтения ваш DataTable не может действительно знать, какова определенная максимальная длина может быть.

Все, что вы можете сделать, это перебрать все строки в вашей DataTable, определить текущую длину строк и получить максимальную из этих текущих длин в качестве вашей системы отсчета.

Помогает ли это вообще?

Марк

2 голосов
/ 06 июня 2009

Я полагаю, что это будет DataSet.DataTable.Columns [0] .MaxLength

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