Mendapatkan Keluaran Cetakan daripada Prosedur Tersimpan T-SQL dalam Aplikasi .NET
Menghijrahkan aplikasi warisan selalunya melibatkan pengendalian prosedur tersimpan T-SQL yang menggunakan penyataan PRINT
untuk pelaporan ralat atau mesej maklumat. Artikel ini menunjukkan cara untuk menangkap output PRINT
ini dalam persekitaran .NET.
Merakam PRINT
Output: Penyelesaian Yang Boleh Dilaksanakan
Mendapatkan keluaran PRINT
pernyataan daripada prosedur tersimpan T-SQL dalam aplikasi .NET anda boleh dicapai. Ini penting untuk mengakses maklumat penyahpepijatan atau mesej ralat yang tertanam dalam logik prosedur.
Pelaksanaan C#: Pengendalian Acara
Penyelesaian melibatkan melanggan acara InfoMessage
objek sambungan pangkalan data. Berikut ialah contoh kod C#:
<code class="language-csharp">myConnection.InfoMessage += new SqlInfoMessageEventHandler(myConnection_InfoMessage); void myConnection_InfoMessage(object sender, SqlInfoMessageEventArgs e) { // Process the captured print message Console.WriteLine(e.Message); }</code>
Pecahan Kod:
myConnection
: Mewakili sambungan pangkalan data yang digunakan untuk melaksanakan prosedur yang disimpan.InfoMessage
: Peristiwa ini mencetuskan apabila pelayan pangkalan data menghantar mesej maklumat, termasuk output PRINT
.e.Message
: Harta ini memegang kandungan pernyataan PRINT
.Contoh Ilustrasi: Prosedur Tersimpan dan Kod C#
Mari kita pertimbangkan prosedur tersimpan mudah yang mencetak mesej:
<code class="language-sql">CREATE PROCEDURE usp_PrintMessage AS PRINT 'This is a test message.';</code>
Kod C# yang sepadan untuk melaksanakan prosedur ini dan menangkap output PRINT
ialah:
<code class="language-csharp">SqlCommand cmd = new SqlCommand("usp_PrintMessage", myConnection); cmd.CommandType = CommandType.StoredProcedure; cmd.InfoMessage += myConnection_InfoMessage; // Subscribe to the event cmd.ExecuteNonQuery(); // Execute the stored procedure // The print message will be displayed on the console.</code>
Dengan melanggan acara InfoMessage
, aplikasi C# anda secara berkesan memintas dan memproses output PRINT
yang dijana oleh prosedur tersimpan, membolehkan pengendalian ralat yang mantap dan pengelogan bermaklumat.
Atas ialah kandungan terperinci Bagaimanakah Kami Boleh Menangkap Output Cetakan daripada Prosedur Tersimpan T-SQL dalam .NET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!