DataTableExtensions.CopyToDataTable Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает объект DataTable , содержащий копии DataRow объектов, заданный входным IEnumerable<T> объектом.
Перегрузки
| Имя | Описание |
|---|---|
| CopyToDataTable<T>(IEnumerable<T>) |
Возвращает DataTable, содержащий копии объектов DataRow, учитывая входной объект IEnumerable<T>, в котором |
| CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption) |
Копирует объекты DataRow в указанный DataTable, учитывая входной IEnumerable<T> объект, в котором |
| CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler) |
Копирует объекты DataRow в указанный DataTable, учитывая входной IEnumerable<T> объект, в котором |
CopyToDataTable<T>(IEnumerable<T>)
- Исходный код:
- DataTableExtensions.cs
- Исходный код:
- DataTableExtensions.cs
- Исходный код:
- DataTableExtensions.cs
- Исходный код:
- DataTableExtensions.cs
- Исходный код:
- DataTableExtensions.cs
Возвращает DataTable, содержащий копии объектов DataRow, учитывая входной объект IEnumerable<T>, в котором T универсальный параметр DataRow.
public:
generic <typename T>
where T : System::Data::DataRow[System::Runtime::CompilerServices::Extension]
static System::Data::DataTable ^ CopyToDataTable(System::Collections::Generic::IEnumerable<T> ^ source);
public static System.Data.DataTable CopyToDataTable<T>(this System.Collections.Generic.IEnumerable<T> source) where T : System.Data.DataRow;
static member CopyToDataTable : seq<'T (requires 'T :> System.Data.DataRow)> -> System.Data.DataTable (requires 'T :> System.Data.DataRow)
<Extension()>
Public Function CopyToDataTable(Of T As DataRow) (source As IEnumerable(Of T)) As DataTable
Параметры типа
- T
Тип объектов в исходной последовательности обычно DataRow.
Параметры
- source
- IEnumerable<T>
Исходная IEnumerable<T> последовательность.
Возвращаемое значение
Объект, DataTable содержащий входную последовательность в качестве типа DataRow объектов.
Исключения
Исходная IEnumerable<T> последовательность состоит в том null , что не удается создать новую таблицу.
В DataRow исходной последовательности имеется состояние Deleted.
Исходная последовательность не содержит DataRow объектов.
В DataRow исходной последовательности есть null.
Примеры
В следующем примере выполняется запрос таблицы SalesOrderHeader для заказов после 8 августа 2001 г. и используется CopyToDataTable метод для создания DataTable из этого запроса. Затем DataTable привязан к BindingSource, который служит прокси для DataGridView.
// Bind the System.Windows.Forms.DataGridView object
// to the System.Windows.Forms.BindingSource object.
dataGridView.DataSource = bindingSource;
// Fill the DataSet.
DataSet ds = new DataSet();
ds.Locale = CultureInfo.InvariantCulture;
FillDataSet(ds);
DataTable orders = ds.Tables["SalesOrderHeader"];
// Query the SalesOrderHeader table for orders placed
// after August 8, 2001.
IEnumerable<DataRow> query =
from order in orders.AsEnumerable()
where order.Field<DateTime>("OrderDate") > new DateTime(2001, 8, 1)
select order;
// Create a table from the query.
DataTable boundTable = query.CopyToDataTable<DataRow>();
// Bind the table to a System.Windows.Forms.BindingSource object,
// which acts as a proxy for a System.Windows.Forms.DataGridView object.
bindingSource.DataSource = boundTable;
' Bind the System.Windows.Forms.DataGridView object
' to the System.Windows.Forms.BindingSource object.
dataGridView.DataSource = bindingSource
' Fill the DataSet.
Dim ds As New DataSet()
ds.Locale = CultureInfo.InvariantCulture
' See the FillDataSet method in the Loading Data Into a DataSet topic.
FillDataSet(ds)
Dim orders As DataTable = ds.Tables("SalesOrderHeader")
' Query the SalesOrderHeader table for orders placed
' after August 8, 2001.
Dim query = _
From order In orders.AsEnumerable() _
Where order.Field(Of DateTime)("OrderDate") > New DateTime(2001, 8, 1) _
Select order
' Create a table from the query.
Dim boundTable As DataTable = query.CopyToDataTable()
' Bind the table to a System.Windows.Forms.BindingSource object,
' which acts as a proxy for a System.Windows.Forms.DataGridView object.
bindingSource.DataSource = boundTable
Комментарии
Параметр входного параметра Tsource может быть только типом или типом DataRow , производным от DataRow.
Входная последовательность может быть любым IEnumerable<T> источником, а не только запросом или запросом по объекту DataTable. Обратите внимание, что если исходная последовательность является запросом, вызов этого оператора приведет к немедленному выполнению. Перечисление исходной последовательности также может привести к возникновению исключений.
Схема целевой таблицы основана на схеме первой DataRow строки в исходной последовательности. Метаданные таблицы извлекаются из DataRow метаданных и значений таблицы из значений столбцов.DataRow Для типизированного DataTableтипа типы не сохраняются. Данные и схема передаются, но результируемые строки выходной таблицы не будут иметь типизированный DataRow тип. RowError Свойства RowState не сохраняются во время копирования из источника DataRow в возвращаемый DataTableобъект.
Если ссылка null или тип null со значением NULL найдена в источникеDataRow, этот метод заменяет значение в назначении DataTable значением.Value
Созданная таблица, возвращаемая методом, имеет имя таблицы по умолчанию. Если вы хотите присвоить DataTableимя, прикрепить его к DataSetобъекту или выполнить любую другую конкретную DataTable операцию, необходимо сделать это после создания и возврата таблицы.
Дополнительные сведения см. в статье "Создание dataTable из запроса".
Применяется к
CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption)
- Исходный код:
- DataTableExtensions.cs
- Исходный код:
- DataTableExtensions.cs
- Исходный код:
- DataTableExtensions.cs
- Исходный код:
- DataTableExtensions.cs
- Исходный код:
- DataTableExtensions.cs
Копирует объекты DataRow в указанный DataTable, учитывая входной IEnumerable<T> объект, в котором T универсальный параметр DataRow.
public:
generic <typename T>
where T : System::Data::DataRow[System::Runtime::CompilerServices::Extension]
static void CopyToDataTable(System::Collections::Generic::IEnumerable<T> ^ source, System::Data::DataTable ^ table, System::Data::LoadOption options);
public static void CopyToDataTable<T>(this System.Collections.Generic.IEnumerable<T> source, System.Data.DataTable table, System.Data.LoadOption options) where T : System.Data.DataRow;
static member CopyToDataTable : seq<'T (requires 'T :> System.Data.DataRow)> * System.Data.DataTable * System.Data.LoadOption -> unit (requires 'T :> System.Data.DataRow)
<Extension()>
Public Sub CopyToDataTable(Of T As DataRow) (source As IEnumerable(Of T), table As DataTable, options As LoadOption)
Параметры типа
- T
Тип объектов в исходной последовательности обычно DataRow.
Параметры
- source
- IEnumerable<T>
Исходная IEnumerable<T> последовательность.
- options
- LoadOption
Перечисление LoadOption , указывающее DataTable параметры загрузки.
Исключения
Исходная IEnumerable<T> последовательность или null назначение DataTablenull.
В DataRow исходной последовательности имеется состояние Deleted.
Исходная последовательность не содержит DataRow объектов.
В DataRow исходной последовательности есть null.
Комментарии
Параметр T входного параметра source может быть только типом или типом DataRow, производным от DataRow.
Входная последовательность может быть любым IEnumerable<T> источником, а не только запросом по запросу DataTable. Обратите внимание, что если исходная последовательность является запросом, вызов этого оператора приведет к немедленному выполнению. Перечисление исходной последовательности также может привести к возникновению исключений.
Схема целевой таблицы основана на схеме первой DataRow строки в исходной последовательности. Метаданные таблицы извлекаются из DataRow метаданных и значений таблицы из значений столбцов.DataRow Для типизированного DataTableтипа типы не сохраняются. Данные и схема передаются, но результируемые строки выходной таблицы не будут иметь типизированный DataRow тип. RowError Свойства RowState не сохраняются во время копирования из источника DataRow в возвращаемый DataTableобъект.
Если ссылка null или тип null со значением NULL найдена в источникеDataRow, этот метод заменяет значение в назначении DataTable значением.Value
Созданная таблица, возвращаемая методом, имеет имя таблицы по умолчанию. Если вы хотите присвоить DataTableимя, прикрепить его к DataSetобъекту или выполнить любую другую конкретную DataTable операцию, необходимо сделать это после создания и возврата таблицы.
Дополнительные сведения см. в статье "Создание dataTable из запроса".
Применяется к
CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler)
- Исходный код:
- DataTableExtensions.cs
- Исходный код:
- DataTableExtensions.cs
- Исходный код:
- DataTableExtensions.cs
- Исходный код:
- DataTableExtensions.cs
- Исходный код:
- DataTableExtensions.cs
Копирует объекты DataRow в указанный DataTable, учитывая входной IEnumerable<T> объект, в котором T универсальный параметр DataRow.
public:
generic <typename T>
where T : System::Data::DataRow[System::Runtime::CompilerServices::Extension]
static void CopyToDataTable(System::Collections::Generic::IEnumerable<T> ^ source, System::Data::DataTable ^ table, System::Data::LoadOption options, System::Data::FillErrorEventHandler ^ errorHandler);
public static void CopyToDataTable<T>(this System.Collections.Generic.IEnumerable<T> source, System.Data.DataTable table, System.Data.LoadOption options, System.Data.FillErrorEventHandler? errorHandler) where T : System.Data.DataRow;
public static void CopyToDataTable<T>(this System.Collections.Generic.IEnumerable<T> source, System.Data.DataTable table, System.Data.LoadOption options, System.Data.FillErrorEventHandler errorHandler) where T : System.Data.DataRow;
static member CopyToDataTable : seq<'T (requires 'T :> System.Data.DataRow)> * System.Data.DataTable * System.Data.LoadOption * System.Data.FillErrorEventHandler -> unit (requires 'T :> System.Data.DataRow)
<Extension()>
Public Sub CopyToDataTable(Of T As DataRow) (source As IEnumerable(Of T), table As DataTable, options As LoadOption, errorHandler As FillErrorEventHandler)
Параметры типа
- T
Тип объектов в исходной последовательности обычно DataRow.
Параметры
- source
- IEnumerable<T>
Исходная IEnumerable<T> последовательность.
- options
- LoadOption
Перечисление LoadOption , указывающее DataTable параметры загрузки.
- errorHandler
- FillErrorEventHandler
Делегат FillErrorEventHandler , представляющий метод, который будет обрабатывать ошибку.
Исключения
Исходная IEnumerable<T> последовательность или null назначение DataTablenull.
В DataRow исходной последовательности имеется состояние Deleted.
–или–
Исходная последовательность не содержит DataRow объектов.
–или–
В DataRow исходной последовательности есть null.
Комментарии
Параметр T входного параметра source может быть только типом или типом DataRow, производным от DataRow.
Входная последовательность может быть любым IEnumerable<T> источником, а не только запросом по запросу DataTable. Обратите внимание, что если исходная последовательность является запросом, вызов этого оператора приведет к немедленному выполнению. Перечисление исходной последовательности также может привести к возникновению исключений.
Схема целевой таблицы основана на схеме первой DataRow строки в исходной последовательности. Метаданные таблицы извлекаются из DataRow метаданных и значений таблицы из значений столбцов.DataRow Для типизированного DataTableтипа типы не сохраняются. Данные и схема передаются, но результируемые строки выходной таблицы не будут иметь типизированный DataRow тип. RowError Свойства RowState не сохраняются во время копирования из источника DataRow в возвращаемый DataTableобъект.
Если ссылка null или тип null со значением NULL найдена в источникеDataRow, этот метод заменяет значение в назначении DataTable значением.Value
Созданная таблица, возвращаемая методом, имеет имя таблицы по умолчанию. Если вы хотите присвоить DataTableимя, прикрепить его к DataSetобъекту или выполнить любую другую конкретную DataTable операцию, необходимо сделать это после создания и возврата таблицы.
Если исключение создается во время копирования строки данных в целевую таблицу, например исключение ограничения, errorHandler вызывается делегат. Передается FillErrorEventArgserrorHandler делегату со следующими значениями:
Для Values свойства задана копия исходных данных.
Для Errors свойства задано исключение, захваченное.
Свойство Continue считывается после возврата вызова делегата.
Continue Если свойство равноtrue, исходная последовательность продолжает перечисляться и загружаться в таблицу данных. Если свойство имеет значениеfalse, исходное Continue исключение создается из CopyToDataTable метода.
Дополнительные сведения см. в статье "Создание dataTable из запроса".