Partilhar via


Objeto SqlDataRecord

Aplica-se a:SQL Server

No CLR (Common Language Runtime) do .NET, o objeto SqlDataRecord representa uma única linha de dados, juntamente com seus metadados relacionados.

Os procedimentos armazenados gerenciados podem enviar para o cliente conjuntos de resultados que não são de um SqlDataReader. A classe SqlDataRecord, juntamente com os métodos SendResultsStart, SendResultsRowe SendResultsEnd do objeto SqlPipe, permite que os procedimentos armazenados enviem conjuntos de resultados personalizados para o cliente.

Para obter mais informações, consulte Microsoft.SqlServer.Server.SqlDataRecord.

Exemplos

O exemplo a seguir cria um novo registro de funcionário e o retorna ao chamador.

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

}