Sprache

SqlDataRecord Klasse

Definition

Stellt eine einzelne Datenzeile und deren Metadaten dar.

public ref class SqlDataRecord : System::Data::IDataRecord
public class SqlDataRecord : System.Data.IDataRecord
type SqlDataRecord = class
    interface IDataRecord
Public Class SqlDataRecord
Implements IDataRecord
Vererbung
SqlDataRecord
Implementiert

Beispiele

Das folgende Beispiel zeigt, wie Sie mehrere SqlMetaData Objekte erstellen, die die Spaltenmetadaten eines Datensatzes beschreiben, und dann eine wiederverwendbare SqlDataRecord Instanz erstellen. Die Spaltenwerte des Wertes SqlDataRecord werden festgelegt, und dasselbe SqlDataRecord kann verwendet werden, um mehrere Zeilen als Tabellenwertparameter zu SQL Server zu streamen.

using System;
using System.Collections.Generic;
using System.Data;
using Microsoft.Data.SqlClient.Server;

// Stream rows to SQL Server as a table-valued parameter.
public static IEnumerable<SqlDataRecord> CreateNewRecord()
{
   // Re-use a single SqlDataRecord instance rather than allocating a new one for each row.
   // Each row's values are read before SqlCommand advances to the next one.
   SqlDataRecord record;    

   // Create a new record with the column metadata. The constructor is 
   // able to accept a variable number of parameters. 
   record = new SqlDataRecord(new SqlMetaData[] { new SqlMetaData("Column1", SqlDbType.NVarChar, 12), 
                                                  new SqlMetaData("Column2", SqlDbType.Int), 
                                                  new SqlMetaData("Column3", SqlDbType.DateTime) });

   // Set the record fields.
   record.SetString(0, "Hello World!");
   record.SetInt32(1, 42);
   record.SetDateTime(2, DateTime.Now);

   // Stream the first record to SQL Server.
   yield return record;

   // Set the fields of the second record and stream it to SQL Server.
   record.SetInt32(1, 0);
   yield return record;
}

Hinweise

Diese Klasse beschreibt eine einzelne Zeile eines Tabellenwertparameters. Erstellen Sie eine aus einem Array von SqlMetaData Objekten, die die Spaltenmetadaten des Datensatzes beschreiben, mit den Set-Type-Methoden<> auffüllen, sie in eine IEnumerable<SqlDataRecord> einschließen und diese IEnumerable<SqlDataRecord> zuweisen.Value

Um eine optimale Leistung beim Senden mehrerer Zeilen zu erzielen, verwenden Sie eine einzelne SqlDataRecord Instanz über einen IEnumerable<SqlDataRecord> Iterator: Legen Sie neue Spaltenwerte und yield return dieselbe Instanz für jede Zeile fest. SqlCommand liest jeden Datensatz vor dem Nächsten vor.

Konstruktoren

Name Beschreibung
SqlDataRecord(SqlMetaData[])

Initialisiert eine neue SqlDataRecord Instanz mit dem Schema basierend auf dem Array von SqlMetaData Objekten, die als Argument übergeben werden.

Eigenschaften

Name Beschreibung
FieldCount

Ruft die Anzahl der Spalten in der Datenzeile ab. Diese Eigenschaft ist schreibgeschützt.

Item[Int32]

Ruft den ClR-Typwert (Common Language Runtime) für die durch das Spaltenargument ordinal angegebene Spalte ab.

Item[String]

Ruft den ClR-Typwert (Common Language Runtime) für die durch das Spaltenargument name angegebene Spalte ab.

Methoden

Name Beschreibung
GetBoolean(Int32)

Ruft den Wert für die Spalte ab, die durch das Ordinal als ein Boolean.

GetByte(Int32)

Ruft den Wert für die Spalte ab, die durch das Ordinal als ein Byte.

GetBytes(Int32, Int64, Byte[], Int32, Int32)

Ruft den Wert für die Spalte ab, die durch das Ordinal als Array von Byte Objekten angegeben wird.

GetChar(Int32)

Ruft den Wert für die Spalte ab, die durch das Ordinal als ein Char.

GetChars(Int32, Int64, Char[], Int32, Int32)

Ruft den Wert für die Spalte ab, die durch das Ordinal als Array von Char Objekten angegeben wird.

GetDataTypeName(Int32)

Gibt den Namen des Datentyps für die durch das Ordinalargument angegebene Spalte zurück.

GetDateTime(Int32)

Ruft den Wert für die Spalte ab, die durch das Ordinal als ein DateTime.

GetDateTimeOffset(Int32)

Gibt die Daten der angegebenen Spalte als ein DateTimeOffset.

GetDecimal(Int32)

Ruft den Wert für die Spalte ab, die durch das Ordinal als ein Decimal.

GetDouble(Int32)

Ruft den Wert für die Spalte ab, die durch das Ordinal als ein Double.

GetFieldType(Int32)

Gibt ein Type Objekt zurück, das den ClR-Typ (Common Language Runtime) darstellt, der dem SQL Server Typ der durch das ordinal Argument angegebenen Spalte zugeordnet ist.

GetFloat(Int32)

Ruft den Wert für die Spalte ab, die durch das Ordinal als ein Single.

GetGuid(Int32)

Ruft den Wert für die Spalte ab, die durch das Ordinal als ein Guid.

GetInt16(Int32)

Ruft den Wert für die Spalte ab, die durch das Ordinal als ein Int16.

GetInt32(Int32)

Ruft den Wert für die Spalte ab, die durch das Ordinal als ein Int32.

GetInt64(Int32)

Ruft den Wert für die Spalte ab, die durch das Ordinal als ein Int64.

GetName(Int32)

Gibt den Namen der durch das Ordinalargument angegebenen Spalte zurück.

GetOrdinal(String)

Gibt die durch den Spaltennamen angegebene Spalten ordinal zurück.

GetSqlBinary(Int32)

Ruft den Wert für die Spalte ab, die durch das Ordinal als ein SqlBinary.

GetSqlBoolean(Int32)

Ruft den Wert für die Spalte ab, die durch das Ordinal als ein SqlBoolean.

GetSqlByte(Int32)

Ruft den Wert für die Spalte ab, die durch das Ordinal als ein SqlByte.

GetSqlBytes(Int32)

Ruft den Wert für die Spalte ab, die durch das Ordinal als ein SqlBytes.

GetSqlChars(Int32)

Ruft den Wert für die Spalte ab, die durch das Ordinal als ein SqlChars.

GetSqlDateTime(Int32)

Ruft den Wert für die Spalte ab, die durch das Ordinal als ein SqlDateTime.

GetSqlDecimal(Int32)

Ruft den Wert für die Spalte ab, die durch das Ordinal als ein SqlDecimal.

GetSqlDouble(Int32)

Ruft den Wert für die Spalte ab, die durch das Ordinal als ein SqlDouble.

GetSqlFieldType(Int32)

Gibt ein Type Objekt zurück, das den Typ (als SQL Server Typ definiert inSystem.Data.SqlTypes) darstellt, der dem SQL Server Typ der Spalte zugeordnet ist.

GetSqlGuid(Int32)

Ruft den Wert für die Spalte ab, die durch das Ordinal als ein SqlGuid.

GetSqlInt16(Int32)

Ruft den Wert für die Spalte ab, die durch das Ordinal als ein SqlInt16.

GetSqlInt32(Int32)

Ruft den Wert für die Spalte ab, die durch das Ordinal als ein SqlInt32.

GetSqlInt64(Int32)

Ruft den Wert für die Spalte ab, die durch das Ordinal als ein SqlInt64.

GetSqlMetaData(Int32)

Gibt ein SqlMetaData Objekt zurück, das die Metadaten der durch die Spalte angegebenen Ordnungszahl beschreibt.

GetSqlMoney(Int32)

Ruft den Wert für die Spalte ab, die durch das Ordinal als ein SqlMoney.

GetSqlSingle(Int32)

Ruft den Wert für die Spalte ab, die durch das Ordinal als ein SqlSingle.

GetSqlString(Int32)

Ruft den Wert für die Spalte ab, die durch das Ordinal als ein SqlString.

GetSqlValue(Int32)

Gibt den in der Spalte gespeicherten Datenwert zurück, ausgedrückt als SQL Server Typ, der durch die Spalten-Ordnungszahl angegeben wird.

GetSqlValues(Object[])

Gibt die Werte für alle Spalten im Datensatz zurück, ausgedrückt als SQL Server Typen, in einem Array.

GetSqlXml(Int32)

Ruft den Wert für die Spalte ab, die durch das Ordinal als ein SqlXml.

GetString(Int32)

Ruft den Wert für die Spalte ab, die durch das Ordinal als ein String.

GetTimeSpan(Int32)

Gibt die Daten der angegebenen Spalte als ein TimeSpan.

GetValue(Int32)

Gibt den ClR-Typwert (Common Language Runtime) für die durch das Ordinalargument angegebene Spalte zurück.

GetValues(Object[])

Gibt die Werte für alle Spalten im Datensatz zurück, ausgedrückt als ClR-Typen (Common Language Runtime) in einem Array.

IsDBNull(Int32)

Gibt zurück true , wenn die durch den Spalten-Ordinalparameter angegebene Spalte null ist.

SetBoolean(Int32, Boolean)

Legt die in der Spalte gespeicherten Daten auf den angegebenen Boolean Wert fest.

SetByte(Int32, Byte)

Legt die in der Spalte gespeicherten Daten auf den angegebenen Byte Wert fest.

SetBytes(Int32, Int64, Byte[], Int32, Int32)

Legt die in der Spalte gespeicherten Daten auf das angegebene Array von Byte Werten fest.

SetChar(Int32, Char)

Legt die in der Spalte gespeicherten Daten auf den angegebenen Char Wert fest.

SetChars(Int32, Int64, Char[], Int32, Int32)

Legt die in der Spalte gespeicherten Daten auf das angegebene Array von Char Werten fest.

SetDateTime(Int32, DateTime)

Legt die in der Spalte gespeicherten Daten auf den angegebenen DateTime Wert fest.

SetDateTimeOffset(Int32, DateTimeOffset)

Legt den Wert der spalte fest, die auf den DateTimeOffset Wert angegeben ist.

SetDBNull(Int32)

Legt den Wert in der angegebenen Spalte auf DBNull.

SetDecimal(Int32, Decimal)

Legt die in der Spalte gespeicherten Daten auf den angegebenen Decimal Wert fest.

SetDouble(Int32, Double)

Legt die in der Spalte gespeicherten Daten auf den angegebenen Double Wert fest.

SetFloat(Int32, Single)

Legt die in der Spalte gespeicherten Daten auf den angegebenen Single Wert fest.

SetGuid(Int32, Guid)

Legt die in der Spalte gespeicherten Daten auf den angegebenen Guid Wert fest.

SetInt16(Int32, Int16)

Legt die in der Spalte gespeicherten Daten auf den angegebenen Int16 Wert fest.

SetInt32(Int32, Int32)

Legt die in der Spalte gespeicherten Daten auf den angegebenen Int32 Wert fest.

SetInt64(Int32, Int64)

Legt die in der Spalte gespeicherten Daten auf den angegebenen Int64 Wert fest.

SetSqlBinary(Int32, SqlBinary)

Legt die in der Spalte gespeicherten Daten auf den angegebenen SqlBinary Wert fest.

SetSqlBoolean(Int32, SqlBoolean)

Legt die in der Spalte gespeicherten Daten auf den angegebenen SqlBoolean Wert fest.

SetSqlByte(Int32, SqlByte)

Legt die in der Spalte gespeicherten Daten auf den angegebenen SqlByte Wert fest.

SetSqlBytes(Int32, SqlBytes)

Legt die in der Spalte gespeicherten Daten auf den angegebenen SqlBytes Wert fest.

SetSqlChars(Int32, SqlChars)

Legt die in der Spalte gespeicherten Daten auf den angegebenen SqlChars Wert fest.

SetSqlDateTime(Int32, SqlDateTime)

Legt die in der Spalte gespeicherten Daten auf den angegebenen SqlDateTime Wert fest.

SetSqlDecimal(Int32, SqlDecimal)

Legt die in der Spalte gespeicherten Daten auf den angegebenen SqlDecimal Wert fest.

SetSqlDouble(Int32, SqlDouble)

Legt die in der Spalte gespeicherten Daten auf den angegebenen SqlDouble Wert fest.

SetSqlGuid(Int32, SqlGuid)

Legt die in der Spalte gespeicherten Daten auf den angegebenen SqlGuid Wert fest.

SetSqlInt16(Int32, SqlInt16)

Legt die in der Spalte gespeicherten Daten auf den angegebenen SqlInt16 Wert fest.

SetSqlInt32(Int32, SqlInt32)

Legt die in der Spalte gespeicherten Daten auf den angegebenen SqlInt32 Wert fest.

SetSqlInt64(Int32, SqlInt64)

Legt die in der Spalte gespeicherten Daten auf den angegebenen SqlInt64 Wert fest.

SetSqlMoney(Int32, SqlMoney)

Legt die in der Spalte gespeicherten Daten auf den angegebenen SqlMoney Wert fest.

SetSqlSingle(Int32, SqlSingle)

Legt die in der Spalte gespeicherten Daten auf den angegebenen SqlSingle Wert fest.

SetSqlString(Int32, SqlString)

Legt die in der Spalte gespeicherten Daten auf den angegebenen SqlString Wert fest.

SetSqlXml(Int32, SqlXml)

Legt die in der Spalte gespeicherten Daten auf den angegebenen SqlXml Wert fest.

SetString(Int32, String)

Legt die in der Spalte gespeicherten Daten auf den angegebenen String Wert fest.

SetTimeSpan(Int32, TimeSpan)

Legt den Wert der spalte fest, die auf die TimeSpan.

SetValue(Int32, Object)

Legt einen neuen Wert fest, der als CLR-Typ (Common Language Runtime) für die durch die Spalte angegebene Ordnungszahl ausgedrückt wird.

SetValues(Object[])

Legt neue Werte für alle Spalten in der SqlDataRecord. Diese Werte werden als CLR-Typen (Common Language Runtime) ausgedrückt.

Explizite Schnittstellenimplementierungen

Name Beschreibung
IDataRecord.GetData(Int32)

In dieser Version nicht unterstützt.

Gilt für: