Freigeben über


DataRow-Klasse

Stellt eine Datenzeile in einer DataTable dar.

Namespace: System.Data
Assembly: System.Data (in system.data.dll)

Syntax

'Declaration
Public Class DataRow
'Usage
Dim instance As DataRow
public class DataRow
public ref class DataRow
public class DataRow
public class DataRow

Hinweise

Das DataRow-Objekt und das DataColumn-Objekt sind primäre Komponenten einer DataTable. Verwenden Sie das DataRow-Objekt und seine Eigenschaften und Methoden, um die Werte in der DataTable abzurufen, auszuwerten, einzufügen, zu löschen und zu aktualisieren. Die DataRowCollection stellt die tatsächlichen DataRow-Objekte in der DataTable dar, und die DataColumnCollection enthält die DataColumn-Objekte, die das Schema der DataTable beschreiben. Mit der überladenen Item-Eigenschaft können Sie den Wert einer DataColumn zurückgeben oder festlegen.

Bestimmen Sie mithilfe der HasVersion-Eigenschaft und der IsNull-Eigenschaft den Status eines bestimmten Zeilenwerts. Bestimmen Sie mit der RowState-Eigenschaft den Zustand der Zeile in Bezug auf ihre übergeordnete DataTable.

Verwenden Sie zum Erstellen einer neuen DataRow die NewRow-Methode des DataTable-Objekts. Verwenden Sie nach dem Erstellen einer neuen DataRow die Add-Methode, um die neue DataRow der DataRowCollection hinzuzufügen. Rufen Sie abschließend die AcceptChanges-Methode des DataTable-Objekts auf, um die Hinzufügung zu bestätigen. Weitere Informationen über das Hinzufügen von Daten zu einer DataTable finden Sie unter Hinzufügen von Daten zu einer Tabelle.

Sie können eine DataRow aus der DataRowCollection löschen, indem Sie die Remove-Methode der DataRowCollection aufrufen oder indem Sie die Delete-Methode des DataRow-Objekts aufrufen. Die Remove-Methode entfernt die Zeile aus der Auflistung. Im Unterschied dazu markiert Delete die DataRow zum Entfernen. Sie wird tatsächlich entfernt, wenn Sie die AcceptChanges-Methode aufrufen. Durch den Aufruf von Delete können Sie programmgesteuert überprüfen, welche Zeilen zum Entfernen markiert sind, bevor Sie sie tatsächlich löschen. Weitere Informationen finden Sie unter Löschen einer Zeile aus einer Tabelle.

Beispiel

Im folgenden Beispiel wird eine neue DataRow erstellt, indem die NewRow-Methode des DataTable-Objekts aufgerufen wird.

Private Sub CreateNewDataRow()
    ' Use the MakeTable function below to create a new table.
    Dim table As DataTable
    table = MakeNamesTable()

    ' Once a table has been created, use the 
    ' NewRow to create a DataRow.
    Dim row As DataRow 
    row = table.NewRow()

    ' Then add the new row to the collection.
    row("fName") = "John"
    row("lName") = "Smith"
    table.Rows.Add(row)
    
    Dim column As DataColumn
    For Each column in table.Columns
       Console.WriteLine(column.ColumnName)
    Next
    DataGrid1.DataSource=table
 End Sub
 
 Private Function MakeNamesTable() As DataTable
    ' Create a new DataTable titled 'Names.'
    Dim namesTable As DataTable = new DataTable("Names") 

    ' Add three column objects to the table.
    Dim idColumn As DataColumn = new  DataColumn()
    idColumn.DataType = System.Type.GetType("System.Int32")
    idColumn.ColumnName = "id"
    idColumn.AutoIncrement = True
    namesTable.Columns.Add(idColumn)

    Dim fNameColumn As DataColumn = New DataColumn()
    fNameColumn.DataType = System.Type.GetType("System.String")
    fNameColumn.ColumnName = "Fname"
    fNameColumn.DefaultValue = "Fname"
    namesTable.Columns.Add(fNameColumn)

    Dim lNameColumn As DataColumn = new DataColumn()
    lNameColumn.DataType = System.Type.GetType("System.String")
    lNameColumn.ColumnName = "LName"
    namesTable.Columns.Add(lNameColumn)

    ' Create an array for DataColumn objects.
    Dim keys(0) As DataColumn 
    keys(0) = idColumn
    namesTable.PrimaryKey = keys

    ' Return the new DataTable.
    MakeNamesTable = namesTable
 End Function
private void CreateNewDataRow()
{
    // Use the MakeTable function below to create a new table.
    DataTable table;
    table = MakeNamesTable();

    // Once a table has been created, use the 
    // NewRow to create a DataRow.
    DataRow row;
    row = table.NewRow();

    // Then add the new row to the collection.
    row["fName"] = "John";
    row["lName"] = "Smith";
    table.Rows.Add(row);

    foreach(DataColumn column in table.Columns)
        Console.WriteLine(column.ColumnName);
    dataGrid1.DataSource=table;
}
 
private DataTable MakeNamesTable()
{
    // Create a new DataTable titled 'Names.'
    DataTable namesTable = new DataTable("Names"); 

    // Add three column objects to the table.
    DataColumn idColumn = new  DataColumn();
    idColumn.DataType = System.Type.GetType("System.Int32");
    idColumn.ColumnName = "id";
    idColumn.AutoIncrement = true;
    namesTable.Columns.Add(idColumn);

    DataColumn fNameColumn = new DataColumn();
    fNameColumn.DataType = System.Type.GetType("System.String");
    fNameColumn.ColumnName = "Fname";
    fNameColumn.DefaultValue = "Fname";
    namesTable.Columns.Add(fNameColumn);

    DataColumn lNameColumn = new DataColumn();
    lNameColumn.DataType = System.Type.GetType("System.String");
    lNameColumn.ColumnName = "LName";
    namesTable.Columns.Add(lNameColumn);

    // Create an array for DataColumn objects.
    DataColumn [] keys = new DataColumn [1];
    keys[0] = idColumn;
    namesTable.PrimaryKey = keys;

    // Return the new DataTable.
    return namesTable;
}

Vererbungshierarchie

System.Object
  System.Data.DataRow

Threadsicherheit

Dieser Typ ist bei Multithread-Lesevorgängen sicher. Sie müssen alle Schreibvorgänge synchronisieren.

Plattformen

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0, 1.0

Siehe auch

Referenz

DataRow-Member
System.Data-Namespace
AcceptChanges
Add
DataColumnCollection-Klasse
DataColumn-Klasse
DataRowView
DataTable
HasVersion
IsNull
Item
NewRow
DataRowCollection