Announcement

Collapse
No announcement yet.

SQLDataAdapter / Parameter

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • SQLDataAdapter / Parameter

    Hallo,

    ich kann doch in den Command-Objekten des SQLDataAdapters beliebig viele Parameter hinterlegen (SQLParameterCollection). Dort kann man die SourceVersion festlegen, d.h. ob ein Parameterwert den aktuellen Wert oder den ursprünglichen Wert geliefert bekommt.

    Jetzt zu meiner Frage: Wo speichert der SQLDataAdapter all die ursprünglichen Werte?

    Gruß

    Michael Zimmerer

  • #2
    Hallo,

    der DataAdapter greift dazu nur auf die DataSet-Fähigkeiten zurück. Dort speichert jede DataRow-Instanz einer DataTable in der Eigenschaft <b>RowState</b> ihren Zustand. Über die Abfrage von <b>DataRowVersion.Current</b> oder <b>DataRowVersion.Original</b> sind beide Zustände abrufbar:
    <code>
    '
    ' Änderungen am Namen in der Statuszeile anzeigen:
    ' 1. Panel = aktueller Wert
    ' 2. Panel = originaler Wert, der aus der Datenbank ausgelesen wurde
    '
    Private Sub DataGrid1_CurrentCellChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DataGrid1.CurrentCellChanged
    Dim aRow As DataRow
    Dim iRowCount As Integer
    Dim iRowIndex As Integer
    iRowCount = DataSetMasterDetail1.Tables("Master").Rows.Count
    iRowIndex = DataGrid1.CurrentRowIndex()
    If (iRowIndex >= 0) And (iRowIndex < iRowCount) Then
    aRow = DataSetMasterDetail1.Tables("Master").Rows.Item(iR owIndex)
    StatusBarPanel1.Text = aRow("Name", DataRowVersion.Current).ToString()
    StatusBarPanel2.Text = aRow("Name", DataRowVersion.Original).ToString()
    End If
    End Sub
    </code&gt

    Comment

    Working...
    X