(0) exportieren Drucken
Alle erweitern

SqlDataRecord-Klasse

Hinweis: Diese Klasse ist neu in .NET Framework, Version 2.0.

Stellt eine einzelne Datenzeile und ihre Metadaten dar. Diese Klasse kann nicht geerbt werden.

Namespace: Microsoft.SqlServer.Server
Assembly: System.Data (in system.data.dll)

public sealed class SqlDataRecord : IDataRecord
public final class SqlDataRecord implements IDataRecord
public final class SqlDataRecord implements IDataRecord

Diese Klasse wird zusammen mit SqlPipe verwendet, um Resultsets aus gespeicherten Prozeduren mit verwaltetem Code an den Client zu senden.

Beim Schreiben von CLR (Common Language Runtime)-Anwendungen sollten Sie nach Möglichkeit vorhandene SqlDataRecord-Objekte verwenden, statt jedes Mal neue Objekte zu erstellen. Die Erstellung zahlreicher neuer SqlDataRecord-Objekte kann den Arbeitsspeicher stark auslasten und die Leistung erheblich beeinträchtigen.

Das folgende Beispiel veranschaulicht die Erstellung mehrerer SqlMetaData-Objekte, die die Spaltenmetadaten eines Datensatzes beschreiben, sowie die Erstellung eines SqlDataRecord. Die Spaltenwerte des SqlDataRecord werden festgelegt, und der SqlDataRecord wird mithilfe der SqlContext-Klasse an das aufrufende Programm gesendet.

[Microsoft.SqlServer.Server.SqlProcedure]
public static void CreateNewRecord()
{

   // Variables.
   SqlMetaData column1Info;
   SqlMetaData column2Info;
   SqlMetaData column3Info;
   SqlDataRecord record;

   // 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);
}

System.Object
  Microsoft.SqlServer.Server.SqlDataRecord

Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

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

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

.NET Framework

Unterstützt in: 2.0
Anzeigen:
© 2014 Microsoft