C# SqlDataAdapter->;选择命令并在SQL中使用打印

C# SqlDataAdapter->;选择命令并在SQL中使用打印,c#,sql-server,sqldataadapter,output,C#,Sql Server,Sqldataadapter,Output,MSSQL有一个PRINT命令,允许我写入存储过程和sql文本查询的输出。问题是,当使用Fill方法通过SqlDataAdapater调用时,不会返回此输出 我不知道为什么,但如果无法使用打印,那么可能有另一种管道:将输出输出输出到结果?否,您想要的任何内容都需要与“结果”一起返回 从理论上讲,您可以使用OUT参数并为此添加其他信息 否,您想要的任何内容都需要返回“结果” 从理论上讲,您可以使用OUT参数并为此添加其他信息 打印输出通过连接的InfoMessage事件接收。因此,从技术上讲,您可

MSSQL有一个PRINT命令,允许我写入存储过程和sql文本查询的输出。问题是,当使用Fill方法通过SqlDataAdapater调用时,不会返回此输出


我不知道为什么,但如果无法使用打印,那么可能有另一种管道:将输出输出输出到结果?

否,您想要的任何内容都需要与“结果”一起返回

从理论上讲,您可以使用OUT参数并为此添加其他信息


否,您想要的任何内容都需要返回“结果”

从理论上讲,您可以使用OUT参数并为此添加其他信息


打印
输出通过连接的
InfoMessage
事件接收。因此,从技术上讲,您可以将它们分别收集并合并。但是,我建议您使用
选择
输出
参数/
返回
值来传递来自命令的信息。

打印
输出通过连接的
信息
事件接收。因此,从技术上讲,您可以将它们分别收集并合并。但是,我建议您使用
SELECT
out
参数/
return
值来传递命令中的信息。

您只需从
SELECT
命令中获取数据,也可以使用
return

简单例子

USE AdventureWorks2012;
GO
CREATE PROCEDURE checkstate @param varchar(11)
AS
IF (SELECT StateProvince FROM Person.vAdditionalContactInfo WHERE ContactID = @param) = 'WA'
    RETURN 1
ELSE
    RETURN 2;
GO

在这里,您可以使用
选择
而不是
返回

您只需从
选择
命令获取数据,也可以使用
返回

简单例子

USE AdventureWorks2012;
GO
CREATE PROCEDURE checkstate @param varchar(11)
AS
IF (SELECT StateProvince FROM Person.vAdditionalContactInfo WHERE ContactID = @param) = 'WA'
    RETURN 1
ELSE
    RETURN 2;
GO
在这里,您也可以使用
选择
而不是
返回