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!