Condividi tramite


Classe ScriptBuffer

Serves as the base class for the read-only classes representing the input and the outputs that are generated by the Script component in the BufferWrapper project item in a Script component project.

Gerarchia di ereditarietà

System. . :: . .Object
  Microsoft.SqlServer.Dts.Pipeline..::..ScriptBuffer

Spazio dei nomi  Microsoft.SqlServer.Dts.Pipeline
Assembly:  Microsoft.SqlServer.TxScript (in Microsoft.SqlServer.TxScript.dll)

Sintassi

'Dichiarazione
Public Class ScriptBuffer
'Utilizzo
Dim instance As ScriptBuffer
public class ScriptBuffer
public ref class ScriptBuffer
type ScriptBuffer =  class end
public class ScriptBuffer

Nel tipo ScriptBuffer sono esposti i membri seguenti.

Costruttori

  Nome Descrizione
Metodo pubblico ScriptBuffer Initializes a new instance of the ScriptBuffer class.

In alto

Proprietà

  Nome Descrizione
Proprietà protetta Item Gets or sets the value of a column in the buffer by using its index in the array of buffer column indexes.

In alto

Metodi

  Nome Descrizione
Metodo protetto AddRow Adds an empty new row to the data flow buffer.
Metodo protetto DirectRow Directs a row to the specified output when a component has more than one available output.
Metodo protetto EndOfRowset Returns a value that indicates whether the end of the rows in a buffer has been reached.
Metodo pubblico Equals Ereditato da Object.
Metodo protetto Finalize Ereditato da Object.
Metodo pubblico GetHashCode Ereditato da Object.
Metodo pubblico GetType Ereditato da Object.
Metodo protetto IsNull Returns a value that indicates whether the value of the specified column is nullNothingnullptrunitriferimento Null (Nothing in Visual Basic)..
Metodo protetto MemberwiseClone Ereditato da Object.
Metodo protetto NextRow Tries to move to the next available row in the buffer and returns a value that indicates whether another row was available.
Metodo protetto SetEndOfRowset Indicates to the data flow that no more rows will be added to the output buffer.
Metodo protetto SetNull Makes the value of the specified column nullNothingnullptrunitriferimento Null (Nothing in Visual Basic)..
Metodo pubblico ToString Ereditato da Object.

In alto

Campi

  Nome Descrizione
Campo protetto Buffer
Campo protetto BufferColumnIndexes An array of column indexes.

In alto

Osservazioni

The ScriptBuffer class serves as the base class for the read-only classes representing the input and the outputs that are generated by the Script component in the BufferWrapper project item in a Script component project. The classes in the BufferWrapper project item provide the developer with a set of methods for working with the data flow buffers, as well as typed accessor properties for each column in the buffers.

The Script component developer does not use the ScriptBuffer class directly, but indirectly, through the derived classes in the BufferWrapper project item that represent the component's input and outputs.

For more information, see Codifica e debug del componente script and Informazioni sul modello a oggetti del componente script.

Esempi

The following code sample from Creazione di una trasformazione asincrona con il componente script demonstrates several methods and properties of the ScriptBuffer class, including AddRow, NextRow, EndOfRowset, and SetEndOfRowset.

Public Class ScriptMain
    Inherits UserComponent

    Private myRedmondAddressCount As Integer

    Public Overrides Sub CreateNewOutputRows()

        MySummaryOutputBuffer.AddRow()

    End Sub

    Public Overrides Sub MyAddressInput_ProcessInput(ByVal Buffer As MyAddressInputBuffer)

        While Buffer.NextRow()
            MyAddressInput_ProcessInputRow(Buffer)
        End While

        If Buffer.EndOfRowset Then
            MyAddressOutputBuffer.SetEndOfRowset()
            MySummaryOutputBuffer.MyRedmondCount = myRedmondAddressCount
            MySummaryOutputBuffer.SetEndOfRowset()
        End If

    End Sub

    Public Overrides Sub MyAddressInput_ProcessInputRow(ByVal Row As MyAddressInputBuffer)

        With MyAddressOutputBuffer
            .AddRow()
            .AddressID = Row.AddressID
            .City = Row.City
        End With

        If Row.City.ToUpper = "REDMOND" Then
            myRedmondAddressCount += 1
        End If

    End Sub

End Class

Protezione dei thread

I membri static (Shared in Visual Basic) pubblici di questo tipo sono affidabili. Non è invece garantita la sicurezza dei membri dell'istanza.