本文将带您了解关于如何在C#中显示SQL``RINT''命令的输出?的新内容,另外,我们还将为您提供关于bash–如何在当前shell中执行命令的输出?、Csystem()函数–如何收集已发出命令的输
本文将带您了解关于如何在C#中显示SQL``RINT''命令的输出?的新内容,另外,我们还将为您提供关于bash – 如何在当前shell中执行命令的输出?、C system()函数 – 如何收集已发出命令的输出?、linux – 仅在成功时隐藏shell命令的输出?、linux – 使用命令的输出作为下一个命令的输入的实用信息。
本文目录一览:- 如何在C#中显示SQL``RINT''命令的输出?
- bash – 如何在当前shell中执行命令的输出?
- C system()函数 – 如何收集已发出命令的输出?
- linux – 仅在成功时隐藏shell命令的输出?
- linux – 使用命令的输出作为下一个命令的输入
如何在C#中显示SQL``RINT''命令的输出?
我有一个始终返回“ PRINT”命令的SQL过程,我想提取此“ PRINT”命令的输出,即C#中的过程,我该怎么做?这是程序
ALTER PROC ResultsPoll@pollid INT ASDECLARE @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_idWHERE Students_answer_Polls.poll_id = @pollid AND Students_answer_Polls.answer = Polls.a1SELECT @count2 = COUNT(mem_id) FROM Students_answer_Polls INNER JOIN Polls ON Polls.poll_id = Students_answer_Polls.poll_idWHERE Students_answer_Polls.poll_id = @pollid AND Students_answer_Polls.answer = Polls.a2SELECT @count3 = COUNT(mem_id) FROM Students_answer_Polls INNER JOIN Polls ON Polls.poll_id = Students_answer_Polls.poll_idWHERE Students_answer_Polls.poll_id = @pollid AND Students_answer_Polls.answer = Polls.a3SELECT @count4 = COUNT(mem_id) FROM Students_answer_Polls INNER JOIN Polls ON Polls.poll_id = Students_answer_Polls.poll_idWHERE Students_answer_Polls.poll_id = @pollid AND Students_answer_Polls.answer = Polls.a4SELECT @count5 = COUNT(mem_id) FROM Students_answer_Polls INNER JOIN Polls ON Polls.poll_id = Students_answer_Polls.poll_idWHERE Students_answer_Polls.poll_id = @pollid AND Students_answer_Polls.answer = Polls.a5SELECT @test=Polls.a1 FROM Polls WHERE poll_id = @pollidIF(@test IS NOT NULL)BEGINPRINT (''Number of students who chose ''+@test+'' is:''+'' ''+CAST (@count1 AS VARCHAR(MAX)))ENDSELECT @test=Polls.a2 FROM Polls WHERE poll_id = @pollidIF(@test IS NOT NULL)BEGINPRINT (''Number of students who chose ''+@test+'' is:''+'' ''+CAST (@count2 AS VARCHAR(MAX)))ENDSELECT @test=Polls.a3 FROM Polls WHERE poll_id = @pollidIF(@test IS NOT NULL)BEGINPRINT (''Number of students who chose ''+@test+'' is:''+'' ''+CAST (@count3 AS VARCHAR(MAX)))ENDSELECT @test=Polls.a4 FROM Polls WHERE poll_id = @pollidIF(@test IS NOT NULL)BEGINPRINT (''Number of students who chose ''+@test+'' is:''+'' ''+CAST (@count4 AS VARCHAR(MAX)))ENDSELECT @test=Polls.a5 FROM Polls WHERE poll_id = @pollidIF(@test IS NOT NULL)BEGINPRINT (''Number of students who chose ''+@test+'' is:''+'' ''+CAST (@count5 AS VARCHAR(MAX)))END
答案1
小编典典您需要订阅SqlConnection.InfoMessage
活动。
MSDN在这里有一些示例代码。
bash – 如何在当前shell中执行命令的输出?
现在,我将一些文本转换为shell命令,然后运行它们,如下所示:
$ ls | sed ... | sh
ls只是一个随机的例子,原始文本可以是任何东西。 sed也是,只是一个转换文本的例子。有趣的位是sh。我管任何我得到的嘘,它运行它。
我的问题是,这意味着启动一个新的子shell。我宁愿让命令在我当前的shell中运行。像我可以做的源一些文件,如果我有一个文本文件中的命令。
我不想创建一个临时文件,因为感觉脏。
或者,我想开始我的子shell与我当前的shell完全相同的特性。
更新
好的,使用backtick的解决方案肯定工作,但我经常需要这样做,而我检查和更改输出,所以我更喜欢如果有一种方法来管道的结果到最后的东西。
悲伤的更新
啊,/ dev / stdin的东西看起来很漂亮,但在一个更复杂的情况下,它没有工作。
所以,我有这:
find . -type f -iname '*.doc' | ack -v '\.doc$' | perl -pe 's/^((.*)\.doc)$/git mv -f $1 $2.doc/i' | source /dev/stdin
这样可以确保所有.doc文件的扩展名都是低位的。
顺便说一下,可以用xargs处理,但这是除了点。
find . -type f -iname '*.doc' | ack -v '\.doc$' | perl -pe 's/^((.*)\.doc)$/$1 $2.doc/i' | xargs -L1 git mv
所以,当我运行前,它会立即退出,没有任何反应。
$ ls | sed ... | source /dev/stdin
更新:这在bash 4.0,以及tcsh和破折号(如果你更改源。)。显然这是bugs在bash 3.2。从bash 4.0 release notes:
Fixed a bug that caused `.’ to fail to read and execute commands from non-regular files such as devices or named pipes.
C system()函数 – 如何收集已发出命令的输出?
int system ( const char * command );
如何从发出的命令中收集标准输出?
具体来说,我想收集已发出命令的输出(例如,发出dir命令的目录列表输出).
解决方法
如果是后者,请改用popen()
和pclose()
.
如果是前者,请查看system()的返回值(并使用waitpid()
信息中的信息来解释它).
linux – 仅在成功时隐藏shell命令的输出?
#!/bin/sh set -e SILENT_LOG=/tmp/silent_log_$$.txt trap "/bin/rm -f $SILENT_LOG" EXIT function report_and_exit { cat "${SILENT_LOG}"; echo "\033[91mError running command.\033[39m" exit 1; } function silent { $* 2>>"${SILENT_LOG}" >> "${SILENT_LOG}" || report_and_exit; } silent mkdir -v pepe silent mkdir -v pepe2 silent mkdir -v pepe silent mkdir -v pepe2
解决方法
function suppress { /bin/rm --force /tmp/suppress.out 2> /dev/null; ${1+"$@"} > /tmp/suppress.out 2>&1 || cat /tmp/suppress.out; /bin/rm /tmp/suppress.out; }@H_301_2@然后,您可以运行命令:
suppress foo -a bar
linux – 使用命令的输出作为下一个命令的输入
所以我从命令行调用这个PHP脚本:
/usr/bin/PHP /var/www/bims/index.PHP "projects/output"
它的输出是:
file1 file2 file3
我想要做的是获取此输出并提供给“rm”命令但我认为我做得不对:
/usr/bin/PHP /var/www/bims/index.PHP "projects/output" | rm
我的目标是删除PHP脚本输出的任何文件名.应该怎样做才能做到这一点?
谢谢!
/usr/bin/PHP /var/www/bims/index.PHP "projects/output" | xargs rm
关于如何在C#中显示SQL``RINT''命令的输出?的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于bash – 如何在当前shell中执行命令的输出?、C system()函数 – 如何收集已发出命令的输出?、linux – 仅在成功时隐藏shell命令的输出?、linux – 使用命令的输出作为下一个命令的输入等相关知识的信息别忘了在本站进行查找喔。
本文标签: