IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Comment afficher la requête paramétrée envoyée à la Bdd ?


Sujet :

C#

  1. #1
    Membre confirmé
    Profil pro
    Développeur
    Inscrit en
    Avril 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Avril 2007
    Messages : 52
    Par défaut Comment afficher la requête paramétrée envoyée à la Bdd ?
    Salut à tous,

    Je souhaiterais afficher la requête exacte qui est envoyée à ma Bdd. Pour l'instant j'ai une requête paramétrée de ce type :

    SELECT *
    FROM maTable
    WHERE (description LIKE '%@WORD%' OR commentaire LIKE '%@WORD%')

    Et lorsque je suis en mode Debug je n'arrive pas à voir ce qui est réellement envoyé à la base de données. En supposant que le paramètre @WORD soit remplacé par "toto", ma requête devrait être :

    SELECT *
    FROM maTable
    WHERE (description LIKE '%toto%' OR commentaire LIKE '%toto%')

    Et ça, impossible de le voir... du coup, je n'arrive pas à trouver la source de mon problème

    Si quelqu'un à une idée, je suis preneur !!
    Merci d'avance et bonne fêtes à tous !
    Lionel.

  2. #2
    Membre éclairé Avatar de bellak
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2008
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2008
    Messages : 325
    Par défaut
    Salut ,
    j'ai deja rencontré le meme probleme , essaye : ....LIKE '%"+toto+"%'" .

  3. #3
    Membre confirmé
    Profil pro
    Développeur
    Inscrit en
    Avril 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Avril 2007
    Messages : 52
    Par défaut
    En fait je sais quel résultat je doit obtenir si je rentre "toto" ou autre dans ma requête... mais j'aimerais voir la requête "en clair" parce qu'en lui passant les bons paramètres je n'ai aucun résultat !

  4. #4
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Si jamais tu trouve ca m'intéresse
    Chaque fois que j'ai voulu j'ai abandonné ma recherche

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 217
    Par défaut
    Citation Envoyé par pot2yaourt Voir le message
    [...]mais j'aimerais voir la requête "en clair" parce qu'en lui passant les bons paramètres je n'ai aucun résultat !
    Plus simplement : et vous n'avez pas la possibilité d'utiliser un profiler SQL pour ce moteur de BDD ? Cela vous permettrait au moins de surveiller tout (ou presque) ce qui est envoyé à ce moteur, après translation des paramètres formels en arguments effectifs, et pas seulement pour une requête par ci par là...

    'HTH

  6. #6
    Membre confirmé
    Profil pro
    Développeur
    Inscrit en
    Avril 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Avril 2007
    Messages : 52
    Par défaut
    Bonne idée ! Je ne connaissais pas les logiciels de type "profiler SQL" pour analyser les requêtes.

    J'utilise SQL Server Express, du coup je n'ai pas accès à "SQL Profiler" (inclu dans la version "Entreprise" de SQL Server), par contre j'ai trouvé ça :

    http://sqlprofiler.googlepages.com/

    C'est un logiciel Open Source, conçu exprès pour SQL Server Express ! Et là, ça marche, c'est vraiment génial !!

    Pour configurer le profiler, je me suis aidé de ceci :

    http://rudi.developpez.com/sqlserver.../optimisation/

    Merci pour tout !!
    A++
    Lionel.

  7. #7
    Membre expérimenté
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 217
    Par défaut
    Eh ben voilà

  8. #8
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Super !

    Bon il faudra que je trouve la meme chose pour MySql maintenant

  9. #9
    Membre confirmé
    Profil pro
    Développeur
    Inscrit en
    Avril 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Avril 2007
    Messages : 52
    Par défaut
    Voici donc ce qui est envoyé à SQL Server :

    exec sp_executesql N'SELECT champ1, champ2, champ3 FROM maTable WHERE description LIKE %@WORD%',N'@WORD nvarchar(8)',@WORD=N'internet'

    Par contre, tel quel ça ne fonctionne pas !

    En cherchant un peu, voici la syntaxe correcte :

    exec sp_executesql N'SELECT champ1, champ2, champ3 FROM maTable WHERE description LIKE @WORD',N'@WORD nvarchar(10)',@WORD=N'%internet%'

    Notez la suppression des "%" entourant @WORD et leur apparition autour du mot recherché.

    Lionel.

  10. #10
    Membre Expert

    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2007
    Messages
    3 530
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 530
    Par défaut
    olibara:
    Je ne sais pas ce que ça vaut mais :
    http://www.jetprofiler.com/getting-started/

    ( à tout hasard, si tu trouves un jour pour Access, je suis preneur ... )

  11. #11
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Merci Papy214


    Sincerement Access j'ai abandonné depuis longtemps !
    MySql pour les petites base (et meme plus grosses) c'est génial !

  12. #12
    Membre Expert

    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2007
    Messages
    3 530
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 530
    Par défaut
    pour Access, on n'a pas toujours le choix. Le client est roi.
    Access a quand même un gros avantage. Sur Windows, pas besoin d'installer un serveur, création simple d'une nouvelle base de données, sauvegarde facile par simple copie d'un fichier, etc ...
    Mais j'admets qu'il y a beaucoup de limitations et lourdeurs en échange

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 03/12/2007, 12h28
  2. Comment créer une requête paramétrée ?
    Par tofke dans le forum SQL
    Réponses: 7
    Dernier message: 30/07/2007, 17h27
  3. Réponses: 3
    Dernier message: 16/12/2006, 12h59
  4. [ADO.Net][C#/Mysql] Comment exécuter une requête paramétrée?
    Par wremacle dans le forum Accès aux données
    Réponses: 6
    Dernier message: 07/02/2006, 16h55
  5. [ADO.Net][C#/Oracle] Comment utiliser une requête paramètrée ?
    Par kaboume dans le forum Accès aux données
    Réponses: 4
    Dernier message: 05/07/2005, 14h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo