首頁 > 後端開發 > C++ > 如何擷取 .NET 中的 T-SQL 預存程序 PRINT 輸出?

如何擷取 .NET 中的 T-SQL 預存程序 PRINT 輸出?

Susan Sarandon
發布: 2025-01-17 16:42:10
原創
486 人瀏覽過

How Can I Capture T-SQL Stored Procedure PRINT Output in .NET?

在 .NET 中擷取預存程序 PRINT 輸出

如何在 .NET 中存取由 T-SQL 預存程序產生的 PRINT 輸出?例如,考慮以下使用 PRINT 顯示單字「word」的預存程序:

<code class="language-sql">CREATE PROC usp_PrintWord AS
    PRINT 'word'</code>
登入後複製

如何使用 C# 程式碼擷取此過程的輸出?

解決方案涉及訂閱資料庫連線上的 InfoMessage 事件。每當連線的 SQL Server 執行個體會傳送訊息訊息(包括 PRINT 語句)時,都會引發此事件。

<code class="language-csharp">SqlCommand cmd = new SqlCommand("usp_printWord", TheConnection);
cmd.CommandType = CommandType.StoredProcedure;
myConnection.InfoMessage += new SqlInfoMessageEventHandler(myConnection_InfoMessage);

void myConnection_InfoMessage(object sender, SqlInfoMessageEventArgs e)
{
    string ProcPrint = e.Message;
}</code>
登入後複製

執行預存程序時,將觸發 InfoMessage 事件,並呼叫訊息處理程序。可以透過 SqlInfoMessageEventArgs 物件的 Message 屬性存取訊息文字。

以上是如何擷取 .NET 中的 T-SQL 預存程序 PRINT 輸出?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板