Dela via


SqlDataRecord-objekt

gäller för:SQL Server

I .NET Common Language Runtime (CLR) representerar SqlDataRecord-objektet en enda rad med data, tillsammans med dess relaterade metadata.

Hanterade lagrade procedurer kan skicka till klientresultatuppsättningar som inte kommer från en SqlDataReader. Med klassen SqlDataRecord, tillsammans med SendResultsStart, SendResultsRowoch SendResultsEnd metoder för SqlPipe-objektet, kan lagrade procedurer skicka anpassade resultatuppsättningar till klienten.

Mer information finns i Microsoft.SqlServer.Server.SqlDataRecord.

Exempel

I följande exempel skapas en ny medarbetares post och den returneras till anroparen.

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

}