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

Bagaimanakah Kami Boleh Menangkap Output Cetakan daripada Prosedur Tersimpan T-SQL dalam .NET?

Mary-Kate Olsen
Lepaskan: 2025-01-17 16:26:11
asal
972 orang telah melayarinya

How Can We Capture Print Output from a T-SQL Stored Procedure in .NET?

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>
Salin selepas log masuk

Pecahan Kod:

  • myConnection: Mewakili sambungan pangkalan data yang digunakan untuk melaksanakan prosedur yang disimpan.
  • Acara
  • 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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan