SqlContext Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Çağıranın SqlTriggerContextbağlamının , ve WindowsIdentity nesnelerine erişim sağlayan soyutlamasını SqlPipetemsil eder. Bu sınıf devralınamaz.
public ref class SqlContext sealed
public sealed class SqlContext
type SqlContext = class
Public NotInheritable Class SqlContext
- Devralma
-
SqlContext
Örnekler
Aşağıdaki örnek yeni SqlDataRecord bir ve oluşturur SqlMetaData. Örnek daha sonra yöntemini kullanarak bir sonuç kümesinin başlangıcını SendResultsStart işaretler, örnek verileri içeren kayıtları yöntemini kullanarak SendResultsRow istemciye geri gönderir ve sonuç kümesinin sonunu yöntemiyle SendResultsEnd işaretler.
[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
Açıklamalar
SqlContext nesnesi tetikleyici bağlamını (bir tetikleyicide yürütülen kod için) ve kanal nesnesini (saklı yordamlarda olduğu gibi kullanılabilir olduğunda) almak için kullanılabilir. Ayrıca, istemcinin tümleşik kimlik doğrulaması kullanarak sunucuyla kimliği doğrulandıysa, çağıran istemcinin Microsoft Windows kimliğini temsil eden bir WindowsIdentity nesne elde etmek için de kullanılabilir.
Özellikler
IsAvailable |
Çağıran kodun SQL Server içinde çalışıp çalışmadığını ve bağlam bağlantısına erişilip erişilemeyeceğini belirtir. |
Pipe |
Çağıranın sonuç kümelerini, iletileri ve komut yürütme sonuçlarını istemciye geri göndermesini sağlayan kanal nesnesini alır. |
TriggerContext |
Çağırana tetikleyicinin tetiklenmesine neyin neden olduğu hakkında bilgi sağlamak için kullanılan tetikleyici bağlamını ve güncelleştirilen sütunların bir haritasını alır. |
WindowsIdentity |
Çağıranın Microsoft Windows kimliği. |