ketan Ram Patil Ответов: 2

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


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

заранее спасибо :)

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

Dim tblProducts as DataTable
.
.
.

For i As Integer = 0 To tblProducts.Rows.Count
                     Dim d = tblProducts.Columns(i).DataType ' here How to retrieve the datatype size ?? :(
        Next

2 Ответов

Рейтинг:
18

Kornfeld Eliyahu Peter

Вы имеете в виду тип данных для столбца "размер"?

tblProducts.Columns["size"].DataType

И еще! Столбцы-это набор столбцов (удивительно) и не имеет ничего общего с количеством строк!!!
Если вы хотите перебирать столбцы используйте такой цикл:
For Each column In tblProducts.Columns
  ' Your code here
Next


ketan Ram Patil

спасибо за ваш ценный повтор. :)

Но я хочу знать размер каждого типа данных столбца.

например, если столбец Product содержит строковый тип данных, то как восстановить фактический размер строкового типа данных.


я хочу создать новую таблицу из таблицы datatable.

таким образом, чтобы создать новую таблицу, я могу получить имя столбца и тип данных, но не могу получить фактический размер типа данных :( ????????

Kornfeld Eliyahu Peter

Вы имеете в виду, что если в SQL вы объявили CHAR(30), то вы хотите получить 'String' и '30'?
Вы не можете! DataTable-это универсальный тип для работы с любым источником данных и работает на минимальном уровне...
Но - чтобы противоречить этой общей природе - для типов text (string variant) существует значение MaxLength, однако... не все поставщики будут устанавливать это значение, поэтому вы не можете строить на нем. Вы также должны получить информацию о схеме при заполнении данных...
Адаптер.Заполнять(...);
Адаптер.Метода fillschema(...);

Рейтинг:
12

Richard Deeming

Чтобы получить размер строкового столбца, используйте атрибут MaxLength[^] собственность:

Dim s As Integer = tblProducts.Columns(i).MaxLength