Lenguaje

SqlDataRecord Clase

Definición

Representa una sola fila de datos y sus metadatos.

public ref class SqlDataRecord : System::Data::IDataRecord
public class SqlDataRecord : System.Data.IDataRecord
type SqlDataRecord = class
    interface IDataRecord
Public Class SqlDataRecord
Implements IDataRecord
Herencia
SqlDataRecord
Implementaciones

Ejemplos

En el ejemplo siguiente se muestra cómo crear varios SqlMetaData objetos que describen los metadatos de columna de un registro y, a continuación, crear una instancia que se pueda SqlDataRecord reutilizar. Los valores de columna de SqlDataRecord se establecen y los mismos SqlDataRecord se pueden usar para transmitir varias filas a SQL Server como parámetro con valores de tabla.

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;
}

Comentarios

Esta clase describe una sola fila de un parámetro con valores de tabla. Construya uno a partir de una matriz de objetos que describen los metadatos de SqlMetaData columna del registro, rellene con los métodos Set<Type> , inclúyelo en IEnumerable<SqlDataRecord> y asígnelo IEnumerable<SqlDataRecord> a Value.

Para obtener el mejor rendimiento al enviar varias filas, vuelva a usar una sola SqlDataRecord instancia en un IEnumerable<SqlDataRecord> iterador: establezca nuevos valores de columna y yield return la misma instancia para cada fila. SqlCommand leerá cada registro antes de avanzar al siguiente.

Constructores

Nombre Description
SqlDataRecord(SqlMetaData[])

Inicializa una nueva SqlDataRecord instancia con el esquema basado en la matriz de SqlMetaData objetos pasados como argumento.

Propiedades

Nombre Description
FieldCount

Obtiene el número de columnas de la fila de datos. Esta propiedad es de solo lectura.

Item[Int32]

Obtiene el valor de tipo de Common Language Runtime (CLR) para la columna especificada por el argumento column ordinal .

Item[String]

Obtiene el valor de tipo de Common Language Runtime (CLR) para la columna especificada por el argumento column name .

Métodos

Nombre Description
GetBoolean(Int32)

Obtiene el valor de la columna especificada por el ordinal como .Boolean

GetByte(Int32)

Obtiene el valor de la columna especificada por el ordinal como .Byte

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

Obtiene el valor de la columna especificada por el ordinal como una matriz de Byte objetos .

GetChar(Int32)

Obtiene el valor de la columna especificada por el ordinal como .Char

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

Obtiene el valor de la columna especificada por el ordinal como una matriz de Char objetos .

GetDataTypeName(Int32)

Devuelve el nombre del tipo de datos de la columna especificada por el argumento ordinal.

GetDateTime(Int32)

Obtiene el valor de la columna especificada por el ordinal como .DateTime

GetDateTimeOffset(Int32)

Devuelve los datos de la columna especificada como .DateTimeOffset

GetDecimal(Int32)

Obtiene el valor de la columna especificada por el ordinal como .Decimal

GetDouble(Int32)

Obtiene el valor de la columna especificada por el ordinal como .Double

GetFieldType(Int32)

Devuelve un Type objeto que representa el tipo de Common Language Runtime (CLR) que se asigna al tipo SQL Server de la columna especificada por el ordinal argumento .

GetFloat(Int32)

Obtiene el valor de la columna especificada por el ordinal como .Single

GetGuid(Int32)

Obtiene el valor de la columna especificada por el ordinal como .Guid

GetInt16(Int32)

Obtiene el valor de la columna especificada por el ordinal como .Int16

GetInt32(Int32)

Obtiene el valor de la columna especificada por el ordinal como .Int32

GetInt64(Int32)

Obtiene el valor de la columna especificada por el ordinal como .Int64

GetName(Int32)

Devuelve el nombre de la columna especificada por el argumento ordinal.

GetOrdinal(String)

Devuelve el ordinal de columna especificado por el nombre de columna.

GetSqlBinary(Int32)

Obtiene el valor de la columna especificada por el ordinal como .SqlBinary

GetSqlBoolean(Int32)

Obtiene el valor de la columna especificada por el ordinal como .SqlBoolean

GetSqlByte(Int32)

Obtiene el valor de la columna especificada por el ordinal como .SqlByte

GetSqlBytes(Int32)

Obtiene el valor de la columna especificada por el ordinal como .SqlBytes

GetSqlChars(Int32)

Obtiene el valor de la columna especificada por el ordinal como .SqlChars

GetSqlDateTime(Int32)

Obtiene el valor de la columna especificada por el ordinal como .SqlDateTime

GetSqlDecimal(Int32)

Obtiene el valor de la columna especificada por el ordinal como .SqlDecimal

GetSqlDouble(Int32)

Obtiene el valor de la columna especificada por el ordinal como .SqlDouble

GetSqlFieldType(Int32)

Devuelve un Type objeto que representa el tipo (como un tipo SQL Server, definido en System.Data.SqlTypes) que se asigna al tipo SQL Server de la columna.

GetSqlGuid(Int32)

Obtiene el valor de la columna especificada por el ordinal como .SqlGuid

GetSqlInt16(Int32)

Obtiene el valor de la columna especificada por el ordinal como .SqlInt16

GetSqlInt32(Int32)

Obtiene el valor de la columna especificada por el ordinal como .SqlInt32

GetSqlInt64(Int32)

Obtiene el valor de la columna especificada por el ordinal como .SqlInt64

GetSqlMetaData(Int32)

Devuelve un SqlMetaData objeto , que describe los metadatos de la columna especificada por el ordinal de columna.

GetSqlMoney(Int32)

Obtiene el valor de la columna especificada por el ordinal como .SqlMoney

GetSqlSingle(Int32)

Obtiene el valor de la columna especificada por el ordinal como .SqlSingle

GetSqlString(Int32)

Obtiene el valor de la columna especificada por el ordinal como .SqlString

GetSqlValue(Int32)

Devuelve el valor de datos almacenado en la columna, expresado como un tipo SQL Server, especificado por el ordinal de columna.

GetSqlValues(Object[])

Devuelve los valores de todas las columnas del registro, expresadas como tipos SQL Server, en una matriz.

GetSqlXml(Int32)

Obtiene el valor de la columna especificada por el ordinal como .SqlXml

GetString(Int32)

Obtiene el valor de la columna especificada por el ordinal como .String

GetTimeSpan(Int32)

Devuelve los datos de la columna especificada como .TimeSpan

GetValue(Int32)

Devuelve el valor de tipo de Common Language Runtime (CLR) para la columna especificada por el argumento ordinal.

GetValues(Object[])

Devuelve los valores de todas las columnas del registro, expresadas como tipos de Common Language Runtime (CLR), en una matriz.

IsDBNull(Int32)

Devuelve true si la columna especificada por el parámetro ordinal de columna es null.

SetBoolean(Int32, Boolean)

Establece los datos almacenados en la columna en el valor especificado Boolean .

SetByte(Int32, Byte)

Establece los datos almacenados en la columna en el valor especificado Byte .

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

Establece los datos almacenados en la columna en la matriz de Byte valores especificada.

SetChar(Int32, Char)

Establece los datos almacenados en la columna en el valor especificado Char .

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

Establece los datos almacenados en la columna en la matriz de Char valores especificada.

SetDateTime(Int32, DateTime)

Establece los datos almacenados en la columna en el valor especificado DateTime .

SetDateTimeOffset(Int32, DateTimeOffset)

Establece el valor de la columna especificada en el DateTimeOffset valor .

SetDBNull(Int32)

Establece el valor de la columna DBNullespecificada en .

SetDecimal(Int32, Decimal)

Establece los datos almacenados en la columna en el valor especificado Decimal .

SetDouble(Int32, Double)

Establece los datos almacenados en la columna en el valor especificado Double .

SetFloat(Int32, Single)

Establece los datos almacenados en la columna en el valor especificado Single .

SetGuid(Int32, Guid)

Establece los datos almacenados en la columna en el valor especificado Guid .

SetInt16(Int32, Int16)

Establece los datos almacenados en la columna en el valor especificado Int16 .

SetInt32(Int32, Int32)

Establece los datos almacenados en la columna en el valor especificado Int32 .

SetInt64(Int32, Int64)

Establece los datos almacenados en la columna en el valor especificado Int64 .

SetSqlBinary(Int32, SqlBinary)

Establece los datos almacenados en la columna en el valor especificado SqlBinary .

SetSqlBoolean(Int32, SqlBoolean)

Establece los datos almacenados en la columna en el valor especificado SqlBoolean .

SetSqlByte(Int32, SqlByte)

Establece los datos almacenados en la columna en el valor especificado SqlByte .

SetSqlBytes(Int32, SqlBytes)

Establece los datos almacenados en la columna en el valor especificado SqlBytes .

SetSqlChars(Int32, SqlChars)

Establece los datos almacenados en la columna en el valor especificado SqlChars .

SetSqlDateTime(Int32, SqlDateTime)

Establece los datos almacenados en la columna en el valor especificado SqlDateTime .

SetSqlDecimal(Int32, SqlDecimal)

Establece los datos almacenados en la columna en el valor especificado SqlDecimal .

SetSqlDouble(Int32, SqlDouble)

Establece los datos almacenados en la columna en el valor especificado SqlDouble .

SetSqlGuid(Int32, SqlGuid)

Establece los datos almacenados en la columna en el valor especificado SqlGuid .

SetSqlInt16(Int32, SqlInt16)

Establece los datos almacenados en la columna en el valor especificado SqlInt16 .

SetSqlInt32(Int32, SqlInt32)

Establece los datos almacenados en la columna en el valor especificado SqlInt32 .

SetSqlInt64(Int32, SqlInt64)

Establece los datos almacenados en la columna en el valor especificado SqlInt64 .

SetSqlMoney(Int32, SqlMoney)

Establece los datos almacenados en la columna en el valor especificado SqlMoney .

SetSqlSingle(Int32, SqlSingle)

Establece los datos almacenados en la columna en el valor especificado SqlSingle .

SetSqlString(Int32, SqlString)

Establece los datos almacenados en la columna en el valor especificado SqlString .

SetSqlXml(Int32, SqlXml)

Establece los datos almacenados en la columna en el valor especificado SqlXml .

SetString(Int32, String)

Establece los datos almacenados en la columna en el valor especificado String .

SetTimeSpan(Int32, TimeSpan)

Establece el valor de la columna especificada en .TimeSpan

SetValue(Int32, Object)

Establece un nuevo valor, expresado como un tipo de Common Language Runtime (CLR), para la columna especificada por el ordinal de columna.

SetValues(Object[])

Establece nuevos valores para todas las columnas de SqlDataRecord. Estos valores se expresan como tipos de Common Language Runtime (CLR).

Implementaciones de interfaz explícitas

Nombre Description
IDataRecord.GetData(Int32)

No se admite en esta versión.

Se aplica a