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[])

使用基于作为参数传递的 SqlMetaData 对象数组的架构初始化新的 SqlDataRecord

属性

FieldCount

获取数据行的列数。 此属性为只读。

Item[Int32]

为列 ordinal 参数所指定的列,获取公共语言运行时 (CLR) 类型值。

Item[String]

为列 name 参数所指定的列,获取公共语言运行时 (CLR) 类型值。

方法

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 对象,该对象表示映射到 ordinal 参数指定的列的 SQL Server 类型的公共语言运行时 (CLR) 类型。

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)

如果列序号参数所指定的列为 null,则返回 true。

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)

在此版本中不受支持。

适用于