从 .NET 应用程序中的存储过程检索 PRINT 输出
有效地捕获 .NET 应用程序中存储过程的 PRINT
输出至关重要,特别是在处理使用 PRINT
语句进行错误处理和日志记录的旧系统时。 我们来说明如何从存储过程“usp_PrintWord”中捕获输出“word”:
<code class="language-sql">-- Stored Procedure CREATE PROC usp_PrintWord AS BEGIN PRINT 'word' END;</code>
.NET 解决方案:
以下步骤演示了如何在 .NET 代码中捕获此 PRINT
输出:
InfoMessage
事件。当数据库交互期间生成的信息消息时会触发此事件。<code class="language-csharp">myConnection.InfoMessage += new SqlInfoMessageEventHandler(myConnection_InfoMessage);</code>
Message
的 SqlInfoMessageEventArgs
属性以检索 PRINT
输出。<code class="language-csharp">void myConnection_InfoMessage(object sender, SqlInfoMessageEventArgs e) { Console.WriteLine(e.Message); }</code>
SqlCommand
执行存储过程。 PRINT
输出将被捕获并显示在控制台中(或事件处理程序指示输出的任何位置)。此方法提供了一种简单有效的方法来访问存储过程的 PRINT
输出。
以上是如何从 .NET 中的存储过程捕获 PRINT 输出?的详细内容。更多信息请关注PHP中文网其他相关文章!