Export (0) Print
Expand All

SqlDataRecord Class

Note: This class is new in the .NET Framework version 2.0.

Represents a single row of data and its metadata. This class cannot be inherited.

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

This class is used in conjunction with SqlPipe to send result sets to the client from managed code stored-procedures.

When writing common language runtime (CLR) applications, you should re-use existing SqlDataRecord objects instead of creating new ones each time. Creating a large number of new SqlDataRecord objects could severely deplete memory and adversely affect performance.

The following example shows the creation of several SqlMetaData objects, which describe the column metadata of a record, and the creation of a SqlDataRecord. The column values of the SqlDataRecord are set and the SqlDataRecord is sent to the calling program using the SqlContext class.

[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

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

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

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0

Community Additions

ADD
Show:
© 2014 Microsoft