Freigeben über


DataTableReader.GetDataTypeName(Int32) Methode

Definition

Ruft eine Zeichenfolge ab, die den Datentyp der angegebenen Spalte darstellt.

public:
 override System::String ^ GetDataTypeName(int ordinal);
public override string GetDataTypeName (int ordinal);
override this.GetDataTypeName : int -> string
Public Overrides Function GetDataTypeName (ordinal As Integer) As String

Parameter

ordinal
Int32

Die nullbasierte Ordnungszahl der Spalte.

Gibt zurück

Eine Zeichenfolge, die den Datentyp der Spalte darstellt.

Ausnahmen

Der übergebene Index lag außerhalb des Bereichs von 0 bis FieldCount -1.

Es wurde versucht, eine Spalte in einem geschlossenen DataTableReader zu lesen oder darauf zuzugreifen.

Beispiele

Die folgende Konsolenanwendung zeigt eine Liste von Feldern und deren Typnamen aus einem einfachen DataTablean:

private static void TestGetTypeName()
{
    DataTable table = GetCustomers();
    using (DataTableReader reader = new DataTableReader(table))
    {
        for (int i = 0; i < reader.FieldCount; i++)
        {
            Console.WriteLine("{0}: {1}", reader.GetName(i),
                reader.GetDataTypeName(i));
        }
    }
    Console.WriteLine("Press Enter to finish.");
    Console.ReadLine();
}

private static DataTable GetCustomers()
{
    // Create sample Customers table, in order
    // to demonstrate the behavior of the DataTableReader.
    DataTable table = new DataTable();
    // Create two columns, ID and Name.
    DataColumn idColumn = table.Columns.Add("ID", typeof(int));
    table.Columns.Add("Name", typeof(string ));
    // Set the ID column as the primary key column.
    table.PrimaryKey = new DataColumn[] { idColumn };

    table.Rows.Add(new object[] { 1, "Mary" });
    table.Rows.Add(new object[] { 2, "Andy" });
    table.Rows.Add(new object[] { 3, "Peter" });
    table.Rows.Add(new object[] { 4, "Russ" });
    return table;
}
Private Sub TestGetTypeName()
   Dim table As DataTable = GetCustomers()
   Using reader As New DataTableReader(table)
      For i As Integer = 0 To reader.FieldCount - 1
         Console.WriteLine("{0}: {1}", _
            reader.GetName(i), reader.GetDataTypeName(i))
      Next
   End Using

   Console.WriteLine("Press Enter to finish.")
   Console.ReadLine()
End Sub

Private Function GetCustomers() As DataTable
   ' Create sample Customers table, in order
   ' to demonstrate the behavior of the DataTableReader.
   Dim table As New DataTable

   ' Create two columns, ID and Name.
   Dim idColumn As DataColumn = table.Columns.Add("ID", _
     GetType(Integer))
   table.Columns.Add("Name", GetType(String))

   ' Set the ID column as the primary key column.
   table.PrimaryKey = New DataColumn() {idColumn}

   table.Rows.Add(New Object() {1, "Mary"})
   table.Rows.Add(New Object() {2, "Andy"})
   table.Rows.Add(New Object() {3, "Peter"})
   table.Rows.Add(New Object() {4, "Russ"})
   Return table
End Function

Im Konsolenfenster werden die folgenden Ergebnisse angezeigt:

ID: Int32  
Name: String  

Hinweise

Die GetDataTypeName -Methode gibt immer den Typ des zugrunde liegenden DataColumn anstelle eines anbieterspezifischen Typs zurück.

Gilt für: