SqlContext Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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. |