Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Metodu Load můžete použít k načtení DataTable řádků ze zdroje dat. Jedná se o přetíženou metodu, která v nejjednodušší podobě přijímá jeden parametr DataReader. V tomto formuláři jednoduše načte DataTable řádky. Volitelně můžete zadat LoadOption parametr, který určuje, jak se data přidají do tabulky DataTable.
Parametr LoadOption je zvlášť užitečný v případech, kdy DataTable již obsahuje řádky dat, protože popisuje, jak se příchozí data ze zdroje dat zkombinují s daty, která už jsou v tabulce. Například PreserveCurrentValues (výchozí) určuje, že v případech, kdy je řádek označen jako Added v tabulce DataTable, Original je hodnota nebo každý sloupec nastaven na obsah odpovídajícího řádku ze zdroje dat. Hodnota Current zachová hodnoty přiřazené při přidání řádku a RowState řádek se nastaví na Hodnotu Změněno.
Následující tabulka obsahuje krátký popis hodnot výčtu LoadOption .
| Hodnota LoadOption | Popis |
|---|---|
| PřepsatŘádek | Pokud mají příchozí řádky stejnou PrimaryKey hodnotu jako řádek již v tabulce DataTable, Original nahradí se hodnoty Current každého sloupce hodnotami v příchozím řádku a RowState vlastnost je nastavena na Beze změny.Řádky ze zdroje dat, které ještě ve DataTable zdroji dat neexistují, se přidají s RowState hodnotou Beze změny.Tato možnost aktualizuje obsah DataTable tak, aby odpovídal obsahu zdroje dat. |
| PreserveCurrentValues (výchozí) | Pokud mají příchozí řádky stejnou PrimaryKey hodnotu jako řádek, který už je v tabulce DataTable, Original nastaví se hodnota na obsah příchozího řádku a Current hodnota se nezmění.RowState Pokud je Added nebo změněno, je nastaveno na Změněno.Pokud bylo RowStateodstraněno, zůstane odstraněno.Řádky ze zdroje dat, které ještě neexistují v DataTable, jsou přidány a RowState je nastavena na Beze změny. |
| UpdateCurrentValues | Pokud mají příchozí řádky stejnou PrimaryKey hodnotu jako řádek již v tabulce DataTable, Current hodnota se zkopíruje do Original hodnoty a Current hodnota se nastaví na obsah příchozího řádku.Pokud je RowStateDataTable v , RowState zůstane přidán. U řádků označených jako Modified nebo OdstraněnoRowState se změní.Řádky ze zdroje dat, které ještě v DataTable neexistují, jsou přidány a RowState je nastavena na Přidáno. |
Následující ukázka používá metodu Load k zobrazení seznamu narozenin zaměstnanců v Northwind databázi.
Private Sub LoadBirthdays(ByVal connectionString As String)
' Assumes that connectionString is a valid connection string
' to the Northwind database on SQL Server.
Dim queryString As String = _
"SELECT LastName, FirstName, BirthDate " & _
" FROM dbo.Employees " & _
"ORDER BY BirthDate, LastName, FirstName"
' Open and fill a DataSet.
Dim adapter As SqlDataAdapter = New SqlDataAdapter( _
queryString, connectionString)
Dim employees As New DataSet
adapter.Fill(employees, "Employees")
' Create a SqlDataReader for use with the Load Method.
Dim reader As DataTableReader = employees.GetDataReader()
' Create an instance of DataTable and assign the first
' DataTable in the DataSet.Tables collection to it.
Dim dataTableEmp As DataTable = employees.Tables(0)
' Fill the DataTable with data by calling Load and
' passing the SqlDataReader.
dataTableEmp.Load(reader, LoadOption.OverwriteRow)
' Loop through the rows collection and display the values
' in the console window.
Dim employeeRow As DataRow
For Each employeeRow In dataTableEmp.Rows
Console.WriteLine("{0:MM\\dd\\yyyy}" & ControlChars.Tab & _
"{1}, {2}", _
employeeRow("BirthDate"), _
employeeRow("LastName"), _
employeeRow("FirstName"))
Next employeeRow
' Keep the window opened to view the contents.
Console.ReadLine()
End Sub