Maison >développement back-end >C++ >Comment puis-je capturer la sortie PRINT de la procédure stockée T-SQL dans .NET ?

Comment puis-je capturer la sortie PRINT de la procédure stockée T-SQL dans .NET ?

Susan Sarandon
Susan Sarandonoriginal
2025-01-17 16:42:10486parcourir

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

Capture de la sortie PRINT de la procédure stockée dans .NET

Comment accéder à la sortie PRINT générée par une procédure stockée T-SQL dans .NET ? Par exemple, considérons la procédure stockée suivante qui utilise PRINT pour afficher le mot « mot » :

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

Comment puis-je capturer le résultat de ce processus à l'aide du code C# ?

La solution consiste à s'abonner à l'événement InfoMessage sur la connexion à la base de données. Cet événement est déclenché chaque fois que l'instance connectée de SQL Server envoie un message d'information, y compris une instruction 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>

Lorsque la procédure stockée est exécutée, l'événement InfoMessage sera déclenché et le gestionnaire de messages sera appelé. Le texte du message est accessible via la propriété Message de l'objet SqlInfoMessageEventArgs.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn