Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Menangkap Output CETAK Prosedur Tersimpan T-SQL dalam .NET?

Bagaimanakah Saya Boleh Menangkap Output CETAK Prosedur Tersimpan T-SQL dalam .NET?

Susan Sarandon
Susan Sarandonasal
2025-01-17 16:42:10486semak imbas

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

Merakam keluaran CETAK prosedur tersimpan dalam .NET

Bagaimanakah saya boleh mengakses output CETAK yang dijana oleh prosedur tersimpan T-SQL dalam .NET? Sebagai contoh, pertimbangkan prosedur tersimpan berikut yang menggunakan CETAK untuk memaparkan perkataan "perkataan":

<code class="language-sql">CREATE PROC usp_PrintWord AS
    PRINT 'word'</code>

Bagaimana saya boleh menangkap output proses ini menggunakan kod C#?

Penyelesaian melibatkan melanggan acara InfoMessage pada sambungan pangkalan data. Peristiwa ini dibangkitkan apabila contoh SQL Server yang disambungkan menghantar mesej maklumat, termasuk pernyataan CETAK.

<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>

Apabila prosedur tersimpan dilaksanakan, acara InfoMessage akan dicetuskan dan pengendali mesej akan dipanggil. Teks mesej boleh diakses melalui sifat Mesej objek SqlInfoMessageEventArgs.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menangkap Output CETAK Prosedur Tersimpan T-SQL dalam .NET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn