DataTableExtensions.CopyToDataTable Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Zwraca obiekt DataTable zawierający kopie DataRow obiektów, biorąc pod uwagę obiekt wejściowy IEnumerable<T> .
Przeciążenia
CopyToDataTable<T>(IEnumerable<T>) |
Zwraca element DataTable zawierający kopie DataRow obiektów, biorąc pod uwagę obiekt wejściowy IEnumerable<T> , w którym parametr |
CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption) |
Kopiuje DataRow obiekty do określonego DataTableobiektu , podanego obiektu wejściowego IEnumerable<T> , w którym parametr |
CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler) |
Kopiuje DataRow obiekty do określonego DataTableobiektu , podanego obiektu wejściowego IEnumerable<T> , w którym parametr |
CopyToDataTable<T>(IEnumerable<T>)
- Źródło:
- DataTableExtensions.cs
- Źródło:
- DataTableExtensions.cs
- Źródło:
- DataTableExtensions.cs
Zwraca element DataTable zawierający kopie DataRow obiektów, biorąc pod uwagę obiekt wejściowy IEnumerable<T> , w którym parametr T
ogólny to 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
Parametry typu
- T
Typ obiektów w sekwencji źródłowej, zazwyczaj DataRow.
Parametry
- source
- IEnumerable<T>
Sekwencja źródłowa IEnumerable<T> .
Zwraca
Element DataTable zawierający sekwencję wejściową DataRow jako typ obiektów.
Wyjątki
Sekwencja źródłowa IEnumerable<T> jest null
i nie można utworzyć nowej tabeli.
Element DataRow w sekwencji źródłowej ma stan Deleted.
Sekwencja źródłowa nie zawiera żadnych DataRow obiektów.
Element DataRow w sekwencji źródłowej to null
.
Przykłady
Poniższy przykład wysyła zapytanie do tabeli SalesOrderHeader pod kątem zamówień po 8 sierpnia 2001 r. i używa CopyToDataTable metody do utworzenia na DataTable podstawie tego zapytania. Element DataTable jest następnie powiązany z elementem BindingSource, który działa jako serwer proxy dla elementu 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
Uwagi
Parametr parametru T
source
wejściowego może być typu lub typu DataRow pochodzącego z DataRowklasy .
Sekwencja wejściowa może być dowolnym IEnumerable<T> źródłem, a nie tylko zapytaniem lub zapytaniem względem elementu DataTable. Należy pamiętać, że jeśli sekwencja źródłowa jest zapytaniem, wywołanie tego operatora wymusi natychmiastowe wykonanie. Wyliczanie sekwencji źródłowej może również powodować zgłaszanie wyjątków.
Schemat tabeli docelowej jest oparty na schemacie pierwszego DataRow wiersza w sekwencji źródłowej. Metadane tabeli są wyodrębniane z DataRow metadanych i wartości tabeli z wartości kolumny .DataRow W przypadku typowanych DataTabletypów typy nie są zachowywane. Dane i schemat są przesyłane, ale wynikowe wiersze tabeli wyjściowej nie będą DataRow typu. Właściwości RowState i RowError nie są zachowywane podczas kopiowania ze źródła DataRow do zwróconego DataTableelementu .
Gdy w źródle DataRowznajduje się odwołanie o wartości null lub typ null o wartości null, ta metoda zastępuje wartość w miejscu docelowym DataTable wartością Value.
Wygenerowana tabela zwrócona przez metodę ma domyślną nazwę tabeli. Jeśli chcesz nadać nazwę , dołączyć ją do obiektu lub wykonać inną DataTable konkretną DataSetoperację, musisz to zrobić po utworzeniu DataTablei zwrócenia tabeli.
Aby uzyskać więcej informacji, zobacz Tworzenie tabeli danych na podstawie zapytania.
Dotyczy
CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption)
- Źródło:
- DataTableExtensions.cs
- Źródło:
- DataTableExtensions.cs
- Źródło:
- DataTableExtensions.cs
Kopiuje DataRow obiekty do określonego DataTableobiektu , podanego obiektu wejściowego IEnumerable<T> , w którym parametr T
ogólny to 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)
Parametry typu
- T
Typ obiektów w sekwencji źródłowej, zazwyczaj DataRow.
Parametry
- source
- IEnumerable<T>
Sekwencja źródłowa IEnumerable<T> .
- options
- LoadOption
Wyliczenie LoadOption określające DataTable opcje ładowania.
Wyjątki
Sekwencja źródłowa IEnumerable<T> to null
lub miejsce docelowe DataTable to null
.
Element DataRow w sekwencji źródłowej ma stan Deleted.
Sekwencja źródłowa nie zawiera żadnych DataRow obiektów.
Element DataRow w sekwencji źródłowej to null
.
Uwagi
Parametr parametru T
source
wejściowego może być DataRowtypu lub typu pochodzącego z DataRowklasy .
Sekwencja wejściowa może być dowolnym IEnumerable<T> źródłem, a nie tylko zapytaniem względem elementu DataTable. Należy pamiętać, że jeśli sekwencja źródłowa jest zapytaniem, wywołanie tego operatora wymusi natychmiastowe wykonanie. Wyliczanie sekwencji źródłowej może również powodować zgłaszanie wyjątków.
Schemat tabeli docelowej jest oparty na schemacie pierwszego DataRow wiersza w sekwencji źródłowej. Metadane tabeli są wyodrębniane z DataRow metadanych i wartości tabeli z wartości kolumny .DataRow W przypadku typowanych DataTabletypów typy nie są zachowywane. Dane i schemat są przesyłane, ale wynikowe wiersze tabeli wyjściowej nie będą DataRow typu. Właściwości RowState i RowError nie są zachowywane podczas kopiowania ze źródła DataRow do zwróconego DataTableelementu .
Gdy w źródle DataRowznajduje się odwołanie o wartości null lub typ null o wartości null, ta metoda zastępuje wartość w miejscu docelowym DataTable wartością Value.
Wygenerowana tabela zwrócona przez metodę ma domyślną nazwę tabeli. Jeśli chcesz nadać nazwę , dołączyć ją do obiektu lub wykonać inną DataTable konkretną DataSetoperację, musisz to zrobić po utworzeniu DataTablei zwrócenia tabeli.
Aby uzyskać więcej informacji, zobacz Tworzenie tabeli danych na podstawie zapytania.
Dotyczy
CopyToDataTable<T>(IEnumerable<T>, DataTable, LoadOption, FillErrorEventHandler)
- Źródło:
- DataTableExtensions.cs
- Źródło:
- DataTableExtensions.cs
- Źródło:
- DataTableExtensions.cs
Kopiuje DataRow obiekty do określonego DataTableobiektu , podanego obiektu wejściowego IEnumerable<T> , w którym parametr T
ogólny to 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)
Parametry typu
- T
Typ obiektów w sekwencji źródłowej, zazwyczaj DataRow.
Parametry
- source
- IEnumerable<T>
Sekwencja źródłowa IEnumerable<T> .
- options
- LoadOption
Wyliczenie LoadOption określające DataTable opcje ładowania.
- errorHandler
- FillErrorEventHandler
FillErrorEventHandler Delegat reprezentujący metodę, która obsłuży błąd.
Wyjątki
Sekwencja źródłowa IEnumerable<T> to null
lub miejsce docelowe DataTable to null
.
Element DataRow w sekwencji źródłowej ma stan Deleted.
-lub-
Sekwencja źródłowa nie zawiera żadnych DataRow obiektów.
-lub-
Element DataRow w sekwencji źródłowej to null
.
Uwagi
Parametr parametru T
source
wejściowego może być DataRowtypu lub typu pochodzącego z DataRowklasy .
Sekwencja wejściowa może być dowolnym IEnumerable<T> źródłem, a nie tylko zapytaniem względem elementu DataTable. Należy pamiętać, że jeśli sekwencja źródłowa jest zapytaniem, wywołanie tego operatora wymusi natychmiastowe wykonanie. Wyliczanie sekwencji źródłowej może również powodować zgłaszanie wyjątków.
Schemat tabeli docelowej jest oparty na schemacie pierwszego DataRow wiersza w sekwencji źródłowej. Metadane tabeli są wyodrębniane z DataRow metadanych i wartości tabeli z wartości kolumny .DataRow W przypadku typowanych DataTabletypów typy nie są zachowywane. Dane i schemat są przesyłane, ale wynikowe wiersze tabeli wyjściowej nie będą DataRow typu. Właściwości RowState i RowError nie są zachowywane podczas kopiowania ze źródła DataRow do zwróconego DataTableelementu .
Gdy w źródle DataRowznajduje się odwołanie o wartości null lub typ null o wartości null, ta metoda zastępuje wartość w miejscu docelowym DataTable wartością Value.
Wygenerowana tabela zwrócona przez metodę ma domyślną nazwę tabeli. Jeśli chcesz nadać nazwę , dołączyć ją do obiektu lub wykonać inną DataTable konkretną DataSetoperację, musisz to zrobić po utworzeniu DataTablei zwrócenia tabeli.
Jeśli podczas kopiowania wiersza danych do tabeli docelowej jest zgłaszany wyjątek, taki jak wyjątek ograniczenia, errorHandler
delegat jest wywoływany. Element A FillErrorEventArgs jest przekazywany do delegata errorHandler
z następującymi wartościami:
Właściwość Values jest ustawiona na kopię danych źródłowych.
Właściwość jest ustawiona DataTable na docelową DataTablewartość .
Właściwość Errors jest ustawiona na przechwycony wyjątek.
Właściwość Continue jest odczytywana po powrocie wywołania delegata. Continue Jeśli właściwość to true
, sekwencja źródłowa będzie nadal wyliczana i ładowana do tabeli danych. Continue Jeśli właściwość to false
, oryginalny wyjątek jest zgłaszany z CopyToDataTable metody .
Aby uzyskać więcej informacji, zobacz Tworzenie tabeli danych na podstawie zapytania.