Click to Rate and Give Feedback
MSDN
MSDN Library
SQL Server
SQL Server 2008
Database Engine
Development
Developer's Guide
 SqlDataRecord Object

  Switch on low bandwidth view
Community Content
In this section
Statistics Annotations (0)
Other versions are also available for the following:
SQL Server 2008 Books Online (June 2009)
SqlDataRecord Object

The SqlDataRecord object represents a single row of data, along with its related metadata.

Managed stored procedures may send to the client result sets that are not from a SqlDataReader. The SqlDataRecord class, along with SendResultsStart, SendResultsRow, and SendResultsEnd methods of the SqlPipe object, allows stored procedures to send custom result sets to the client.

For more information, see the Microsoft.SqlServer.Server.SqlDataRecord class reference documentation in the .NET Framework SDK documentation.

The following example creates a new employee record and returns it to the caller.

C#

[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);

}

Visual Basic

<Microsoft.SqlServer.Server.SqlProcedure()> _
Public Shared Sub  CreateNewRecordVBProc ()
    ' 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("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, 42)
    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)

End Sub
Tags What's this?: Add a tag
Community Content   What is Community Content?
Add new content RSS  Annotations
Processing
© 2009 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Page view tracker