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
, SendResultsRow
och 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);
}