Freigeben über


SqlDataRecord-Objekt

Gilt für:SQL Server

In der .NET Common Language Runtime (CLR) stellt das SqlDataRecord-Objekt eine einzelne Datenzeile zusammen mit den zugehörigen Metadaten dar.

Verwaltete gespeicherte Prozeduren können an die Clientergebnissätze gesendet werden, die nicht aus einem SqlDataReaderstammen. Die SqlDataRecord Klasse zusammen mit SendResultsStart, SendResultsRowund SendResultsEnd Methoden des SqlPipe Objekts ermöglicht gespeicherten Prozeduren das Senden benutzerdefinierter Resultsets an den Client.

Weitere Informationen finden Sie unter Microsoft.SqlServer.Server.SqlDataRecord.

Beispiele

Das folgende Beispiel erstellt einen neuen Mitarbeiterdatensatz und gibt ihn an den Aufrufer zurück.

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

}