SqlContext Class
![]() |
---|
The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience. |
Represents an abstraction of the caller's context, which provides access to the SqlPipe, SqlTriggerContext, and WindowsIdentity objects. This class cannot be inherited.
Assembly: System.Data (in System.Data.dll)
Name | Description | |
---|---|---|
![]() ![]() | IsAvailable | Specifies whether the calling code is running within SQL Server, and if the context connection can be accessed. |
![]() ![]() | Pipe | Gets the pipe object that allows the caller to send result sets, messages, and the results of executing commands back to the client. |
![]() ![]() | TriggerContext | Gets the trigger context used to provide the caller with information about what caused the trigger to fire, and a map of the columns that were updated. |
![]() ![]() | WindowsIdentity | The Microsoft Windows identity of the caller. |
Name | Description | |
---|---|---|
![]() | Equals(Object) | Determines whether the specified object is equal to the current object.(Inherited from Object.) |
![]() | GetHashCode() | Serves as the default hash function. (Inherited from Object.) |
![]() | GetType() | |
![]() | ToString() | Returns a string that represents the current object.(Inherited from Object.) |
The SqlContext object can be used to obtain the trigger context (for code executing in a trigger) and the pipe object (when available, such as in stored procedures). It can also be used to obtain a WindowsIdentity object that represents the Microsoft Windows identity of the calling client, if the client authenticated with the server using integrated authentication.
The following example creates a new SqlDataRecord and its SqlMetaData. The example then marks the beginning of a result set using the SendResultsStart method, sends records with example data back to the client using the M:Microsoft.SqlServer.Server.SqlPipe.SendResultsRow method, and marks the end of the result set with the SendResultsEnd method.
[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(); }
Available since 2.0
Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.