SqlDataRecord Class
Assembly: System.Data (in system.data.dll)
This class is used in conjunction with SqlPipe to send result sets to the client from managed code stored-procedures.
When writing common language runtime (CLR) applications, you should re-use existing SqlDataRecord objects instead of creating new ones each time. Creating a large number of new SqlDataRecord objects could severely deplete memory and adversely affect performance.
The following example shows the creation of several SqlMetaData objects, which describe the column metadata of a record, and the creation of a SqlDataRecord. The column values of the SqlDataRecord are set and the SqlDataRecord is sent to the calling program using the SqlContext class.
<Microsoft.SqlServer.Server.SqlProcedure()> _ Public Shared Sub CreateNewRecord() ' Variables. Dim column1Info As SqlMetaData Dim column2Info As SqlMetaData Dim column3Info As SqlMetaData Dim record As SqlDataRecord ' Create the column metadata. column1Info = new SqlMetaData("Column1", SqlDbType.NVarChar, 12) column2Info = new SqlMetaData("Column2", SqlDbType.Int) column3Info = new SqlMetaData("Column3", SqlDbType.DateTime) ' Create a new record with the column metadata. record = new SqlDataRecord(new SqlMetaData() { column1Info, _ column2Info, _ column3Info }) ' 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
Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.