【发布时间】:2012-10-19 12:36:17
【问题描述】:
MSSQL 有一个 PRINT 命令,可以让我编写存储过程和 sql 文本查询的输出。问题是使用Fill方法通过SqlDataAdapter调用时没有返回这个输出。
我不知道为什么,但如果不能使用 Print,那么也许还有一个替代管道:输出到结果?
【问题讨论】:
标签: c# sql-server sqldataadapter output
MSSQL 有一个 PRINT 命令,可以让我编写存储过程和 sql 文本查询的输出。问题是使用Fill方法通过SqlDataAdapter调用时没有返回这个输出。
我不知道为什么,但如果不能使用 Print,那么也许还有一个替代管道:输出到结果?
【问题讨论】:
标签: c# sql-server sqldataadapter output
【讨论】:
PRINT 输出通过连接的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
在这里您也可以使用 select 代替 return
【讨论】: