Поделиться через


SqlDataRecord Класс

Определение

Представляет одиночную строку данных и ее метаданные. Этот класс не наследуется.

public ref class SqlDataRecord : System::Data::IDataRecord
public class SqlDataRecord : System.Data.IDataRecord
type SqlDataRecord = class
    interface IDataRecord
Public Class SqlDataRecord
Implements IDataRecord
Наследование
SqlDataRecord
Реализации

Примеры

В следующем примере показано, как создать несколько SqlMetaData объектов, описывающих метаданные столбца записи, и создать SqlDataRecord. Значения столбцов SqlDataRecord задаются и SqlDataRecord отправляются вызывающей программе SqlContext с помощью класса .

[Microsoft.SqlServer.Server.SqlProcedure]
public static void CreateNewRecord()
{

   // Variables.
   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);

   // Send the record to the calling program.
   SqlContext.Pipe.Send(record);
}
<Microsoft.SqlServer.Server.SqlProcedure()> _
Public Shared Sub CreateNewRecord()

   ' Variables.
   Dim record As SqlDataRecord
   
   ' 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)

   ' Send the record to the calling program.
   SqlContext.Pipe.Send(record)

End Sub

Комментарии

Этот класс используется вместе с SqlPipe для отправки результирующих наборов клиенту из хранимых процедур управляемого кода.

При написании приложений среды CLR следует повторно использовать существующие SqlDataRecord объекты, а не создавать новые каждый раз. Создание большого количества новых SqlDataRecord объектов может серьезно истощить память и негативно сказаться на производительности.

Конструкторы

SqlDataRecord(SqlMetaData[])

Инициализирует новый экземпляр SqlDataRecord схемой на основе массива объектов SqlMetaData, передаваемого в качестве аргумента.

Свойства

FieldCount

Возвращает число столбцов в строке данных. Это свойство доступно только для чтения.

Item[Int32]

Возвращает значение типа среды CLR для столбца, указанного аргументом столбца ordinal.

Item[String]

Возвращает значение типа среды CLR для столбца, указанного аргументом столбца name.

Методы

GetBoolean(Int32)

Возвращает значение столбца, определенное порядковым номером, в виде Boolean.

GetByte(Int32)

Возвращает значение столбца, определенное порядковым номером, в виде Byte.

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

Возвращает значение столбца, указанное порядковым номером, в виде массива объектов Byte.

GetChar(Int32)

Возвращает значение столбца, определенное порядковым номером, в виде Char.

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

Возвращает значение столбца, указанное порядковым номером, в виде массива объектов Char.

GetDataTypeName(Int32)

Возвращает имя типа данных для столбца, указанного аргументом порядкового номера.

GetDateTime(Int32)

Возвращает значение столбца, определенное порядковым номером, в виде DateTime.

GetDateTimeOffset(Int32)

Возвращает данные указанного столбца в виде DateTimeOffset.

GetDecimal(Int32)

Возвращает значение столбца, определенное порядковым номером, в виде Decimal.

GetDouble(Int32)

Возвращает значение столбца, определенное порядковым номером, в виде Double.

GetFieldType(Int32)

Возвращает объект Type, представляющий тип параметра среды CLR, который соответствует типу SQL Server для столбца, указанного аргументом ordinal.

GetFloat(Int32)

Возвращает значение столбца, определенное порядковым номером, в виде float.

GetGuid(Int32)

Возвращает значение столбца, определенное порядковым номером, в виде Guid.

GetInt16(Int32)

Возвращает значение столбца, определенное порядковым номером, в виде Int16.

GetInt32(Int32)

Возвращает значение столбца, определенное порядковым номером, в виде Int32.

GetInt64(Int32)

Возвращает значение столбца, определенное порядковым номером, в виде Int64.

GetName(Int32)

Возвращает имя столбца, указанного аргументом порядкового номера.

GetOrdinal(String)

Возвращает порядковый номер столбца, указанный по имени столбца.

GetSqlBinary(Int32)

Возвращает значение столбца, определенное порядковым номером, в виде SqlBinary.

GetSqlBoolean(Int32)

Возвращает значение столбца, определенное порядковым номером, в виде SqlBoolean.

GetSqlByte(Int32)

Возвращает значение столбца, определенное порядковым номером, в виде SqlByte.

GetSqlBytes(Int32)

Возвращает значение столбца, определенное порядковым номером, в виде SqlBytes.

GetSqlChars(Int32)

Возвращает значение столбца, определенное порядковым номером, в виде SqlChars.

GetSqlDateTime(Int32)

Возвращает значение столбца, определенное порядковым номером, в виде SqlDateTime.

GetSqlDecimal(Int32)

Возвращает значение столбца, определенное порядковым номером, в виде SqlDecimal.

GetSqlDouble(Int32)

Возвращает значение столбца, определенное порядковым номером, в виде SqlDouble.

GetSqlFieldType(Int32)

Возвращает объект Type, представляющий тип (в виде типа SQL Server, определенного в System.Data.SqlTypes), который сопоставляется с типом SQL Server столбца.

GetSqlGuid(Int32)

Возвращает значение столбца, определенное порядковым номером, в виде SqlGuid.

GetSqlInt16(Int32)

Возвращает значение столбца, определенное порядковым номером, в виде SqlInt16.

GetSqlInt32(Int32)

Возвращает значение столбца, определенное порядковым номером, в виде SqlInt32.

GetSqlInt64(Int32)

Возвращает значение столбца, определенное порядковым номером, в виде SqlInt64.

GetSqlMetaData(Int32)

Возвращает объект SqlMetaData, описывающий метаданные столбца, определенного порядковым номером.

GetSqlMoney(Int32)

Возвращает значение столбца, определенное порядковым номером, в виде SqlMoney.

GetSqlSingle(Int32)

Возвращает значение столбца, определенное порядковым номером, в виде SqlSingle.

GetSqlString(Int32)

Возвращает значение столбца, определенное порядковым номером, в виде SqlString.

GetSqlValue(Int32)

Возвращает значение данных, хранящееся в столбце, выраженном как тип SQL Server, определенный порядковым номером столбца.

GetSqlValues(Object[])

Возвращает значения для всех столбцов в записи, выраженные в виде типов SQL Server, в массиве.

GetSqlXml(Int32)

Возвращает значение столбца, определенное порядковым номером, в виде SqlXml.

GetString(Int32)

Возвращает значение столбца, определенное порядковым номером, в виде String.

GetTimeSpan(Int32)

Возвращает данные указанного столбца в виде TimeSpan.

GetValue(Int32)

Возвращает значение типа среды CLR для столбца, заданного аргументом порядкового типа.

GetValues(Object[])

Возвращает значения для всех столбцов в записи, выраженные в виде типов среды CLR, в массиве.

IsDBNull(Int32)

Возвращает значение true, если столбец, указанный параметром порядкового номера, имеет значение NULL.

SetBoolean(Int32, Boolean)

Задает для данных, хранимых в столбце, указанное значение Boolean.

SetByte(Int32, Byte)

Задает для данных, хранимых в столбце, указанное значение Byte.

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

Задает данные, сохраненные в столбце, в указанный массив значений Byte.

SetChar(Int32, Char)

Задает для данных, хранимых в столбце, указанное значение Char.

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

Задает данные, сохраненные в столбце, в указанный массив значений Char.

SetDateTime(Int32, DateTime)

Задает для данных, хранимых в столбце, указанное значение DateTime.

SetDateTimeOffset(Int32, DateTimeOffset)

Задает для указанного столбца значение DateTimeOffset.

SetDBNull(Int32)

Задает для указанного столбца значение DBNull.

SetDecimal(Int32, Decimal)

Задает для данных, хранимых в столбце, указанное значение Decimal.

SetDouble(Int32, Double)

Задает для данных, хранимых в столбце, указанное значение Double.

SetFloat(Int32, Single)

Задает для данных, хранимых в столбце, указанное значение float.

SetGuid(Int32, Guid)

Задает для данных, хранимых в столбце, указанное значение Guid.

SetInt16(Int32, Int16)

Задает для данных, хранимых в столбце, указанное значение Int16.

SetInt32(Int32, Int32)

Задает для данных, хранимых в столбце, указанное значение Int32.

SetInt64(Int32, Int64)

Задает для данных, хранимых в столбце, указанное значение Int64.

SetSqlBinary(Int32, SqlBinary)

Задает для данных, хранимых в столбце, указанное значение SqlBinary.

SetSqlBoolean(Int32, SqlBoolean)

Задает для данных, хранимых в столбце, указанное значение SqlBoolean.

SetSqlByte(Int32, SqlByte)

Задает для данных, хранимых в столбце, указанное значение SqlByte.

SetSqlBytes(Int32, SqlBytes)

Задает для данных, хранимых в столбце, указанное значение SqlBytes.

SetSqlChars(Int32, SqlChars)

Задает для данных, хранимых в столбце, указанное значение SqlChars.

SetSqlDateTime(Int32, SqlDateTime)

Задает для данных, хранимых в столбце, указанное значение SqlDateTime.

SetSqlDecimal(Int32, SqlDecimal)

Задает для данных, хранимых в столбце, указанное значение SqlDecimal.

SetSqlDouble(Int32, SqlDouble)

Задает для данных, хранимых в столбце, указанное значение SqlDouble.

SetSqlGuid(Int32, SqlGuid)

Задает для данных, хранимых в столбце, указанное значение SqlGuid.

SetSqlInt16(Int32, SqlInt16)

Задает для данных, хранимых в столбце, указанное значение SqlInt16.

SetSqlInt32(Int32, SqlInt32)

Задает для данных, хранимых в столбце, указанное значение SqlInt32.

SetSqlInt64(Int32, SqlInt64)

Задает для данных, хранимых в столбце, указанное значение SqlInt64.

SetSqlMoney(Int32, SqlMoney)

Задает для данных, хранимых в столбце, указанное значение SqlMoney.

SetSqlSingle(Int32, SqlSingle)

Задает для данных, хранимых в столбце, указанное значение SqlSingle.

SetSqlString(Int32, SqlString)

Задает для данных, хранимых в столбце, указанное значение SqlString.

SetSqlXml(Int32, SqlXml)

Задает для данных, хранимых в столбце, указанное значение SqlXml.

SetString(Int32, String)

Задает для данных, хранимых в столбце, указанное значение String.

SetTimeSpan(Int32, TimeSpan)

Задает для указанного столбца значение TimeSpan.

SetValue(Int32, Object)

Задает новое значение, выраженное как тип среды CLR, для столбца, указанного порядковым номером столбца.

SetValues(Object[])

Задает новые значения для всех столбцов в SqlDataRecord. Эти значения представлены в виде типов среды CLR.

Явные реализации интерфейса

IDataRecord.GetData(Int32)

Не поддерживается в данном выпуске.

Применяется к