語言

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將多列資料串流到 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;
}

備註

此類別描述一個表值參數的單列。 從描述記錄欄位元資料的物件陣列 SqlMetaData 構造一個,填充 Set<Type> 方法,將其包含在 中 IEnumerable<SqlDataRecord> ,並將它 IEnumerable<SqlDataRecord> 指派給 Value。

為了在傳送多列時最佳效能,建議在迭代器中重複使用單一 SqlDataRecord 實例 IEnumerable<SqlDataRecord> :設定新的欄位值,並為 yield return 每列設定相同的實例。 SqlCommand 我會先閱讀每條紀錄,然後再進入下一筆。

建構函式

名稱 Description
SqlDataRecord(SqlMetaData[])

根據作為參數傳遞的SqlMetaData物件陣列,初始化一個新的SqlDataRecord實例。

屬性

名稱 Description
FieldCount

取得資料列的欄位數量。 這個屬性是唯讀的。

Item[Int32]

取得由欄位 ordinal 參數指定的公共語言執行時(CLR)型態值。

Item[String]

取得由欄位 name 參數指定的公共語言執行時(CLR)型態值。

方法

名稱 Description
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)型態的物件,該型別對應到參數指定的ordinal欄位的 SQL Server 型別。

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)

回傳一個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

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)類型表示。

明確介面實作

名稱 Description
IDataRecord.GetData(Int32)

本版本不支援。

適用於