Bagikan melalui


SqlContext Kelas

Definisi

Mewakili abstraksi konteks pemanggil, yang menyediakan akses ke SqlPipeobjek , SqlTriggerContext, dan WindowsIdentity . Kelas ini tidak dapat diwariskan.

public ref class SqlContext sealed
public sealed class SqlContext
type SqlContext = class
Public NotInheritable Class SqlContext
Warisan
SqlContext

Contoh

Contoh berikut membuat baru SqlDataRecord dan SqlMetaData. Contoh kemudian menandai awal tataan hasil menggunakan SendResultsStart metode , mengirim rekaman dengan contoh data kembali ke klien menggunakan SendResultsRow metode , dan menandai akhir tataan hasil dengan SendResultsEnd metode .

[Microsoft.SqlServer.Server.SqlProcedure]
public static void StoredProcReturnResultSet()
{
    // Create the record and specify the metadata for the columns.
    SqlDataRecord record = new SqlDataRecord(
        new SqlMetaData("col1", SqlDbType.NVarChar, 100),
        new SqlMetaData("col2", SqlDbType.Int));

    // Mark the begining of the result-set.
    SqlContext.Pipe.SendResultsStart(record);

    // Send 10 rows back to the client.
    for (int i = 0; i < 10; i++)
    {
        // Set values for each column in the row.
        record.SetString(0, "row " + i.ToString());
        record.SetInt32(1, i);

        // Send the row back to the client.
        SqlContext.Pipe.SendResultsRow(record);
    }

    // Mark the end of the result-set.
    SqlContext.Pipe.SendResultsEnd();
}
<Microsoft.SqlServer.Server.SqlProcedure()> _
Public Shared Sub StoredProcReturnResultSet()

    ' Create the record and specify the metadata for the columns.
    Dim record As New SqlDataRecord( _
        New SqlMetaData("col1", SqlDbType.NVarChar, 100), _
        New SqlMetaData("col2", SqlDbType.Int))

    ' Mark the begining of the result-set.
    SqlContext.Pipe.SendResultsStart(record)

    ' Send 10 rows back to the client.
    Dim i As Integer
    For i = 0 To 9

        ' Set values for each column in the row.
        record.SetString(0, "row " & i.ToString())
        record.SetInt32(1, i)

        ' Send the row back to the client.
        SqlContext.Pipe.SendResultsRow(record)
    Next

    ' Mark the end of the result-set.
    SqlContext.Pipe.SendResultsEnd()
End Sub

Keterangan

Objek SqlContext dapat digunakan untuk mendapatkan konteks pemicu (untuk kode yang dijalankan dalam pemicu) dan objek pipa (jika tersedia, seperti dalam prosedur tersimpan). Ini juga dapat digunakan untuk mendapatkan WindowsIdentity objek yang mewakili identitas Microsoft Windows dari klien panggilan, jika klien diautentikasi dengan server menggunakan autentikasi terintegrasi.

Properti

IsAvailable

Menentukan apakah kode panggilan berjalan dalam SQL Server, dan apakah koneksi konteks dapat diakses.

Pipe

Mendapatkan objek pipa yang memungkinkan pemanggil untuk mengirim kumpulan hasil, pesan, dan hasil menjalankan perintah kembali ke klien.

TriggerContext

Mendapatkan konteks pemicu yang digunakan untuk memberi pemanggil informasi tentang apa yang menyebabkan pemicu diaktifkan, dan peta kolom yang diperbarui.

WindowsIdentity

Identitas Pemanggil Microsoft Windows.

Berlaku untuk