当前位置: 首页 > 面试题库 >

如何在C#中显示SQL``RINT''命令的输出?

陈琪
2023-03-14
问题内容

我有一个始终返回“ PRINT”命令的SQL过程,我想提取此“ PRINT”命令的输出,即C#中的过程,我该怎么做?这是程序

ALTER PROC ResultsPoll
@pollid INT 
AS
DECLARE @count1 INT 
DECLARE @count2 INT 
DECLARE @count3 INT 
DECLARE @count4 INT 
DECLARE @count5 INT 
DECLARE @test VARCHAR(MAX)
DECLARE @value VARCHAR(MAX)
SELECT @count1 = COUNT(mem_id) FROM Students_answer_Polls INNER JOIN Polls ON Polls.poll_id = Students_answer_Polls.poll_id
WHERE Students_answer_Polls.poll_id = @pollid AND Students_answer_Polls.answer = Polls.a1
SELECT @count2 = COUNT(mem_id) FROM Students_answer_Polls INNER JOIN Polls ON Polls.poll_id = Students_answer_Polls.poll_id
WHERE Students_answer_Polls.poll_id = @pollid AND Students_answer_Polls.answer = Polls.a2
SELECT @count3 = COUNT(mem_id) FROM Students_answer_Polls INNER JOIN Polls ON Polls.poll_id = Students_answer_Polls.poll_id
WHERE Students_answer_Polls.poll_id = @pollid AND Students_answer_Polls.answer = Polls.a3
SELECT @count4 = COUNT(mem_id) FROM Students_answer_Polls INNER JOIN Polls ON Polls.poll_id = Students_answer_Polls.poll_id
WHERE Students_answer_Polls.poll_id = @pollid AND Students_answer_Polls.answer = Polls.a4
SELECT @count5 = COUNT(mem_id) FROM Students_answer_Polls INNER JOIN Polls ON Polls.poll_id = Students_answer_Polls.poll_id
WHERE Students_answer_Polls.poll_id = @pollid AND Students_answer_Polls.answer = Polls.a5

SELECT @test=Polls.a1 FROM Polls WHERE poll_id = @pollid
IF(@test IS NOT NULL)
BEGIN
PRINT ('Number of students who chose '+@test+' is:'+' '+CAST (@count1 AS VARCHAR(MAX)))
END
SELECT @test=Polls.a2 FROM Polls WHERE poll_id = @pollid
IF(@test IS NOT NULL)
BEGIN
PRINT ('Number of students who chose '+@test+' is:'+' '+CAST (@count2 AS VARCHAR(MAX)))
END
SELECT @test=Polls.a3 FROM Polls WHERE poll_id = @pollid
IF(@test IS NOT NULL)
BEGIN
PRINT ('Number of students who chose '+@test+' is:'+' '+CAST (@count3 AS VARCHAR(MAX)))
END
SELECT @test=Polls.a4 FROM Polls WHERE poll_id = @pollid
IF(@test IS NOT NULL)
BEGIN
PRINT ('Number of students who chose '+@test+' is:'+' '+CAST (@count4 AS VARCHAR(MAX)))
END
SELECT @test=Polls.a5 FROM Polls WHERE poll_id = @pollid
IF(@test IS NOT NULL)
BEGIN
PRINT ('Number of students who chose '+@test+' is:'+' '+CAST (@count5 AS VARCHAR(MAX)))
END

问题答案:

您需要订阅SqlConnection.InfoMessage活动。

MSDN在这里有一些示例代码。



 类似资料:
  • Computer says no. — Little Britain 一个问题的详细反馈会对解决问题有帮助。当你使用 exec 资源在节点上执行命令时, 并不总能轻易地找出其为何没有正确执行。如果命令返回一个非零的退出状态,Puppet 就会返回类似如下的错误消息: err: /Stage[main]//Node[cookbook]/Exec[this-will-fail]/returns: ch

  • 我很难找到关于这些命令的功能、返回什么以及如何在C++中的应用程序中获得它们的信息。这是一个练习,这就是我需要如何获得我将从中读取的输入文件和我将向其写入的输出文件: 我试图使用: 谢谢!

  • 问题内容: 如何获取命令提示符的输出,这意味着我已经打开了这样的命令提示符。 我无法获得像这样的cmd输出 那么如何获得命令提示符输出? 问题答案: 这不是Java问题。基本上,您正在执行的是Java(Java Main Process A),然后从中启动另一个进程(Windows CMD B)。很好,您可以在Java(A)中获得此过程(B)的输入/输出流。但是,此过程(B)使用其自己的标准输入/

  • 问题内容: 我刚刚开始使用SQL Management Studio,我想知道是否可以显示已经存在的表的创建命令,我已经能够在Oracle SQL Developer中做到这一点。错误的搜索命令..无论如何..当我坚持25分钟左右时,有人可以给我快速提示吗?谢谢 问题答案: 在对象资源管理器中,展开服务器/数据库,展开表,右键单击有问题的表,然后选择“脚本表为”>“创建到”>“新建查询编辑器”窗口

  • 如何在pyqt5上实现以下功能。 我想做一个日志输出的功能,把日志输出到命令行。 有日志就输出,没日志,命令行的弹窗就一直在那里。 如图 查了很多资料,不知道怎么描述这个。

  • 我使用第三方GUI(Synology Docker软件包)来设置Docker容器。但是,它的局限性使我需要从命令行运行容器。(我想映射另一个主机ip以绑定端口) 现在,由于已经完成了很多设置,我想检索启动这个容器的原始run命令,然后我可以将端口映射端口更改为新的端口。例如“” 我找不到这样做的方法,事件使用“docker inspect”,没有提供此类信息。 请提供一些建议来解决这个问题。