SqlDataRecord 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
表示資料的單一資料列及其中繼資料 (Metadata)。 此類別無法獲得繼承。
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 使用,從 Managed 程式碼預存程式將結果集傳送至用戶端。
撰寫 Common Language Runtime (CLR) 應用程式時,您應該重複使用現有的 SqlDataRecord
物件,而不是每次建立新的物件。 建立許多新 SqlDataRecord
物件可能會嚴重耗盡記憶體,並對效能造成負面影響。
建構函式
SqlDataRecord(SqlMetaData[]) |
根據做為引數傳遞的 SqlMetaData 物件陣列,使用結構描述來初始化新的 SqlDataRecord 執行個體。 |
屬性
FieldCount |
取得此資料列中的資料行數目。 這個屬性是唯讀的。 |
Item[Int32] |
取得資料行 |
Item[String] |
取得資料行 |
方法
明確介面實作
IDataRecord.GetData(Int32) |
這個版本不支援。 |