次の方法で共有


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)

ordinal 引数で指定された SQL Server 型の列にマップされる、共通言語ランタイム (CLR) 型を表す Type オブジェクトを返します。

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)

列の SQL Server 型にマップされる、(SQL Server 型として System.Data.SqlTypes で定義されている) 型を表す Type オブジェクトを返します。

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)

このリリースではサポートされません。

適用対象