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!