SqlPipe.Send 方法

定义

将结果直接发送到客户端或当前输出使用者。

重载

Send(SqlDataRecord)

将单行结果集直接发送到客户端或当前输出使用者。

Send(SqlDataReader)

将多行结果集直接发送到客户端或当前输出使用者。

Send(String)

将字符串消息直接发送到客户端或当前输出使用者。

注解

Send 方法将数据直接发送到客户端或调用方。 客户端通常使用 Pipe 方法的输出,但在嵌套 CLR 存储过程的情况下,输出使用者也可以是存储过程。 例如,Procedure1 使用命令文本“EXEC Procedure2”调用 ExecuteReader 。 Procedure2 也是托管存储过程。 如果 Procedure2 现在调用 Send,则行将发送到 Procedure1 的读取器,而不是客户端。

Send(SqlDataRecord)

将单行结果集直接发送到客户端或当前输出使用者。

public:
 void Send(Microsoft::SqlServer::Server::SqlDataRecord ^ record);
public void Send (Microsoft.SqlServer.Server.SqlDataRecord record);
member this.Send : Microsoft.SqlServer.Server.SqlDataRecord -> unit
Public Sub Send (record As SqlDataRecord)

参数

record
SqlDataRecord

发送到客户端的单行结果集:一个 SqlDataRecord 对象。

例外

recordnull

适用于

Send(SqlDataReader)

将多行结果集直接发送到客户端或当前输出使用者。

public:
 void Send(System::Data::SqlClient::SqlDataReader ^ reader);
public void Send (System.Data.SqlClient.SqlDataReader reader);
member this.Send : System.Data.SqlClient.SqlDataReader -> unit
Public Sub Send (reader As SqlDataReader)

参数

reader
SqlDataReader

要发送到客户端的多行结果集:一个 SqlDataReader 对象。

例外

readernull

注解

如果作为参数传入的对象 SqlDataReader 具有隐藏列,则这些列不会传播到发送到客户端的结果集。

适用于

Send(String)

将字符串消息直接发送到客户端或当前输出使用者。

public:
 void Send(System::String ^ message);
public void Send (string message);
member this.Send : string -> unit
Public Sub Send (message As String)

参数

message
String

要发送到客户端的消息字符串。

例外

message 大于4,000个字符。

messagenull

示例

以下示例使用 Send 方法将消息字符串直接发送到客户端。

[Microsoft.SqlServer.Server.SqlProcedure]
public static void StoredProcSendMessage()
{
    // Send a message string back to the client.
    SqlContext.Pipe.Send("Hello World!");
}
<Microsoft.SqlServer.Server.SqlProcedure()> _
Public Shared Sub StoredProcSendMessage()

    ' Send a message string back to the client.
    SqlContext.Pipe.Send("Hello world!")

End Sub

注解

消息字符串作为信息性消息发送到客户端。 客户端应用程序可以通过不同的机制侦听消息,具体取决于它们使用的数据访问应用程序编程接口 (API) 。 例如,如果客户端使用 ADO.NET,则消息通过 InfoMessage 事件传输。

适用于