SqlDataRecord クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
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] |
列 |
| Item[String] |
列 |
メソッド
| 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) |
|
| 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 の場合、 |
| 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) |
このリリースではサポートされていません。 |