SqlDataRecord 对象
适用范围:SQL Server
在 .NET 公共语言运行时(CLR)中,SqlDataRecord
对象表示单个数据行及其相关元数据。
托管存储过程可能会发送到不是来自 SqlDataReader
的客户端结果集。
SqlDataRecord
类以及 SqlPipe
对象的 SendResultsStart
、SendResultsRow
和 SendResultsEnd
方法允许存储过程将自定义结果集发送到客户端。
有关详细信息,请参阅 Microsoft.SqlServer.Server.SqlDataRecord。
例子
下面的示例创建一个新雇员记录并将其返回到调用方。
[Microsoft.SqlServer.Server.SqlProcedure]
public static void CreateNewRecordProc()
{
// 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("EmployeeID", SqlDbType.Int),
new SqlMetaData("Surname", SqlDbType.NVarChar, 20),
new SqlMetaData("GivenName", SqlDbType.NVarChar, 20),
new SqlMetaData("StartDate", SqlDbType.DateTime) );
// Set the record fields.
record.SetInt32(0, 0042);
record.SetString(1, "Funk");
record.SetString(2, "Don");
record.SetDateTime(3, new DateTime(2005, 7, 17));
// Send the record to the calling program.
SqlContext.Pipe.Send(record);
}