Compartilhar via


Objeto SqlDataRecord

Aplica-se: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 os conjuntos de resultados do cliente que não são de um SqlDataReader. A classe SqlDataRecord, juntamente com 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.

  • C#
  • do .NET do Visual Basic
[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);

}
  • do objeto SqlPipe