Aracılığıyla paylaş


Load yöntemi

yöntemini kullanarak Load veri kaynağından satırlar içeren bir yükleyebilirsiniz DataTable . Bu, en basit biçimiyle tek bir parametre olan DataReader'ı kabul eden aşırı yüklenmiş bir yöntemdir. Bu formda, DataTable bölümünü yalnızca satırlarla yükler. İsteğe bağlı olarak, verilerin LoadOption nasıl ekleneceğini denetlemek için parametresini belirtebilirsiniz.

LoadOption parametresi, veri kaynağından gelen verilerin tabloda zaten bulunan verilerle nasıl birleştirileceğini açıkladığı için veri satırları içerdiği durumlarda DataTable özellikle yararlıdır. Örneğin, PreserveCurrentValues (varsayılan) bir satırın Added olarak işaretlendiği durumlarda değerin veya her sütunun Original veri kaynağından eşleşen satırın içeriğine ayarlandığını belirtir. Değer Current , satır eklendiğinde atanan değerleri korur ve RowState satırın değeri Değiştirildi olarak ayarlanır.

Aşağıdaki tabloda numaralandırma değerlerinin LoadOption kısa bir açıklaması yer alır.

LoadOption değeri Açıklama
OverwriteRow Gelen satırlar PrimaryKey bulunan bir satırla aynı değere sahipse, Original her sütunun ve Current değerleri gelen satırdaki değerlerle değiştirilir ve RowState özelliği Değişmedi olarak ayarlanır.

Henüz DataTable içinde mevcut olmayan veri kaynağındaki satırlar, RowState değeri olarak Değişmedi ile eklenir.

Bu seçenek, DataTable öğesinin içeriğini veri kaynağının içeriğiyle eşleşecek şekilde yeniler.
PreserveCurrentValues (varsayılan) Gelen satırlar PrimaryKey bulunan bir satırla aynı değere sahipse, Original değer gelen satırın içeriğine ayarlanır ve Current değer değiştirilmez.

RowState veya AddedDeğiştirildi ise, Değiştirildi olarak ayarlanır.

RowState Silindi ise, Silinmiş olarak kalır.

veri kaynağında henüz var DataTable olmayan satırlar eklenir ve RowState değeri Değişmedi olarak ayarlanır.
UpdateCurrentValues Gelen satırlar PrimaryKey bulunan satırla aynı değere sahipse, Current değer değere Original kopyalanır ve Current ardından gelen satırın içeriğine ayarlanır.

RowState içindeki DataTableEklendi olduysa, RowStateEklendi olarak kalır. Modified veya Silindi olarak işaretlenen satırlar için, RowState, Değiştirilmiştir.

Veri kaynağından henüz DataTable içinde bulunmayan satırlar eklenir ve RowState, Eklendi olarak ayarlanır.

Aşağıdaki örnek, Load yöntemini kullanarak Northwind veritabanındaki çalışanların doğum günlerinin listesini görüntüler.

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

Ayrıca bkz.