Language

SqlDataRecord クラス

定義

1 行のデータとそのメタデータを表します。

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を使用して複数の行をストリーム配信し、テーブル値パラメーターとしてSQL Serverできます。

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

注釈

このクラスは、テーブル値パラメーターの 1 行について説明します。 レコードの列メタデータを記述する SqlMetaData オブジェクトの配列から 1 つを構築し、 Set<Type> メソッドを設定し、それを IEnumerable<SqlDataRecord> に含め、その IEnumerable<SqlDataRecord> を Valueに割り当てます。

複数の行を送信する場合のパフォーマンスを最大限に高めるには、IEnumerable<SqlDataRecord>反復子全体で 1 つのSqlDataRecord インスタンスを再利用します。新しい列の値を設定し、各行に同じインスタンスをyield returnします。 SqlCommand は、次に進む前に各レコードを読み取ります。

コンストラクター

Name 説明
SqlDataRecord(SqlMetaData[])

引数として渡SqlMetaDataオブジェクトの配列に基づいて、スキーマを使用して新しいSqlDataRecord インスタンスを初期化します。

プロパティ

Name 説明
FieldCount

データ行の列数を取得します。 このプロパティは読み取り専用です。

Item[Int32]

列 ordinal 引数で指定された列の共通言語ランタイム (CLR) 型の値を取得します。

Item[String]

列 name 引数で指定された列の共通言語ランタイム (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)

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

GetFloat(Int32)

序数で指定された列の値を Singleとして取得します。

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型にマップされる型 (System.Data.SqlTypes で定義されたSQL Server型として) を表す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)

列に格納されているデータを、指定した Single 値に設定します。

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) 型として表されます。

明示的なインターフェイスの実装

Name 説明
IDataRecord.GetData(Int32)

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

適用対象