none
Récupérer les messages affichées dans SSMS dans l'onglet Messages lors de l'exécution d'une transaction Sql RRS feed

  • Question

  • Bonjour,

    j'ai une requête Sql qui exécute plusieurs transactions sur différentes tables

    par exemple Insert Into tableA ...

    puis Update tableB...

    Delete tableC etc...

    Si j'exécute cette requête dans SqlServerManagementStudio(SSMS), j'ai l'affichage suivant dans l'onglet Messages.

    (19401 ligne(s) affectée(s))

    (0 ligne(s) affectée(s))

    (17 ligne(s) affectée(s))

    Est-il possible de récupérer ces 3 messages lorsque j'exécute la requête depuis mon programme C#?

    Merci d'avance.

    mardi 4 novembre 2014 10:41

Réponses

  • Bonjour,

    Vous avez la possibilité de récupérer le nombre de lignes récupérés lors de l'appel à la méthode ExecuteNonQuery().

    SqlCommand cmd = new SqlCommand("UPDATE ....")
    int nombreLigneModifiées = cmd.ExecuteNonQuery();

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance - P.O.S Informatique
    Blog : http://gilles.tourreau.fr - Suivez-moi sur Twitter
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCSA : SQL Server 2012
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0 / TFS 2010 / Windows Azure

    mardi 4 novembre 2014 22:04
    Modérateur

Toutes les réponses

  • Bonjour,

    Vous avez la possibilité de récupérer le nombre de lignes récupérés lors de l'appel à la méthode ExecuteNonQuery().

    SqlCommand cmd = new SqlCommand("UPDATE ....")
    int nombreLigneModifiées = cmd.ExecuteNonQuery();

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance - P.O.S Informatique
    Blog : http://gilles.tourreau.fr - Suivez-moi sur Twitter
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCSA : SQL Server 2012
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0 / TFS 2010 / Windows Azure

    mardi 4 novembre 2014 22:04
    Modérateur
  • Bonjour Gilles,

    merci pour votre réponse, je connais déjà cette méthode mais dans le cas présenté, nombreLigneModifiées vaudra 17 et je ne récupérerais pas le 19401 et le 0

    vendredi 14 novembre 2014 12:11
  • Bonjour,

    Il faut le faire pour chacune de vos requêtes...

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance - P.O.S Informatique
    Blog : http://gilles.tourreau.fr - Suivez-moi sur Twitter
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCSA : SQL Server 2012
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0 / TFS 2010 / Windows Azure

    dimanche 16 novembre 2014 23:19
    Modérateur
  • Bonjour Gilles, j'ai simplifié mon exemple mais dans le cas d'une procédure stockée qui effectuerait plusieurs update/delete/insert je ne peux pas dissocier les requêtes.
    jeudi 4 décembre 2014 08:35