Freigeben über


DataRow.ItemArray-Eigenschaft

Ruft alle Werte für diese Zeile über ein Array ab oder legt diese fest.

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

Syntax

'Declaration
Public Property ItemArray As Object()
'Usage
Dim instance As DataRow
Dim value As Object()

value = instance.ItemArray

instance.ItemArray = value
public Object[] ItemArray { get; set; }
public:
property array<Object^>^ ItemArray {
    array<Object^>^ get ();
    void set (array<Object^>^ value);
}
/** @property */
public Object[] get_ItemArray ()

/** @property */
public void set_ItemArray (Object[] value)
public function get ItemArray () : Object[]

public function set ItemArray (value : Object[])

Eigenschaftenwert

Ein Array vom Typ Object.

Ausnahmen

Ausnahmetyp Bedingung

ArgumentException

Das Array ist größer als die Anzahl der Spalten in der Tabelle.

InvalidCastException

Ein Wert im Array stimmt nicht mit dem DataType in der entsprechenden DataColumn überein.

ConstraintException

Bei einem Bearbeitungsvorgang wurde eine Einschränkung verletzt.

ReadOnlyException

Bei einem Bearbeitungsvorgang wurde versucht, den Wert einer schreibgeschützten Spalte zu ändern.

NoNullAllowedException

Bei einem Bearbeitungsvorgang wurde versucht, einen NULL-Wert in einer Spalte zu platzieren, in der AllowDBNull für das DataColumn-Objekts False ist.

DeletedRowInaccessibleException

Die Zeile wurde gelöscht.

Hinweise

Wenn NULL (Nothing in Visual Basic) im ItemArray übergeben wird, wurde kein Wert angegeben.

Eine Ausnahme kann ausgelöst werden, wenn ein Benutzer eine Ausnahme im ColumnChanging-Ereignis oder im RowChanging-Ereignis generiert.

Beispiel

Das folgende Beispiel veranschaulicht das Abrufen und Festlegen von Werten mit der ItemArray-Eigenschaft.

Private Sub CreateRowsWithItemArray()
    ' Make a DataTable using the function below.
    Dim dt As DataTable = MakeTableWithAutoIncrement()
    Dim relation As DataRow

    ' Declare the array variable.
    Dim rowArray(1) As Object

    ' Create 10 new rows and add to DataRowCollection.
    Dim i As Integer
    For i = 0 to 9
       rowArray(0) = DBNull.Value
       rowArray(1)= "item " & i.ToString()
       relation = dt.NewRow()
       relation.ItemArray = rowArray
       dt.Rows.Add(relation)
    Next
    PrintTable(dt)
End Sub
 
Private Function MakeTableWithAutoIncrement() As DataTable
    ' Make a table with one AutoIncrement column.
    Dim table As DataTable = New DataTable("table")
    Dim idColumn As DataColumn = New DataColumn("id", _
        Type.GetType("System.Int32"))
    idColumn.AutoIncrement = True
    idColumn.AutoIncrementSeed = 10
    table.Columns.Add (idColumn)
    
    Dim firstNameColumn As DataColumn = New DataColumn( _
        "Item", Type.GetType("System.String"))
    table.Columns.Add(firstNameColumn)
    MakeTableWithAutoIncrement = table
End Function
 
Private Sub PrintTable(table As DataTable)
    Dim row As DataRow
    Dim column As DataColumn
    For Each row in table.Rows
       For Each column in table.Columns
          Console.WriteLine(row(column))
       Next
    Next
End Sub
private void CreateRowsWithItemArray()
{
    // Make a DataTable using the function below.
    DataTable dt = MakeTableWithAutoIncrement();
    DataRow relation;
    // Declare the array variable.
    object [] rowArray = new object[2];
    // Create 10 new rows and add to DataRowCollection.
    for(int i = 0; i <10; i++)
    {
        rowArray[0]=null;
        rowArray[1]= "item " + i;
        relation = dt.NewRow();
        relation.ItemArray = rowArray;
        dt.Rows.Add(relation);
    }
    PrintTable(dt);
}
 
private DataTable MakeTableWithAutoIncrement()
{
    // Make a table with one AutoIncrement column.
    DataTable table = new DataTable("table");
    DataColumn idColumn = new DataColumn("id", 
        Type.GetType("System.Int32"));
    idColumn.AutoIncrement = true;
    idColumn.AutoIncrementSeed = 10;
    table.Columns.Add(idColumn);

    DataColumn firstNameColumn = new DataColumn("Item", 
        Type.GetType("System.String"));
    table.Columns.Add(firstNameColumn);
    return table;
}
 
private void PrintTable(DataTable table)
{
    foreach(DataRow row in table.Rows)
    {
        foreach(DataColumn column in table.Columns)
        {
            Console.WriteLine(row[column]);
        }
    }
}

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-Klasse
DataRow-Member
System.Data-Namespace
AcceptChanges
DataColumn.AutoIncrement-Eigenschaft
DataColumn-Klasse