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 :

probleme requete imbriquée et paramètrée


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2012
    Messages : 238
    Par défaut probleme requete imbriquée et paramètrée
    salam

    j'ai un problème avec une requete imbriqué paramétré ,
    avec des valeur ça marche ,avec des parametres et des valeurs ça marche et avec juste des paramètre ça marche pas ça donne pas d’erreur mais ça donne une requete vide.

    bon je vai vous donnez la requete complète :

    avec de valeurs: ça marche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT tache_poste_detail.[TACHES MAINTENANCE]
    FROM tache_poste_detail
    WHERE (((tache_poste_detail.[TACHES MAINTENANCE]) Not In (SELECT Tache_poste.[TACHES MAINTENANCE]
    FROM (Taches INNER JOIN Tache_poste ON Taches.[TACHES MAINTENANCE] = Tache_poste.[TACHES MAINTENANCE]) INNER JOIN [Execution taches] ON Tache_poste.Nposte_tache = [Execution taches].Nposte_tache
    WHERE (((Tache_poste.Num_post)="224") AND ((Taches.type)=0) AND ((Taches.Fréquance)="mensuel") AND (([Execution taches].date1) Between #01/01/2013# And #01/01/2013#)))) AND ((tache_poste_detail.Num_post)="224") AND ((tache_poste_detail.type)=0) AND ((tache_poste_detail.Fréquance)="mensuel"))
    avec des paramètres et des valeurs : la aussi ça marche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT tache_poste_detail.[TACHES MAINTENANCE]
    FROM tache_poste_detail
    WHERE (((tache_poste_detail.[TACHES MAINTENANCE]) Not In (SELECT Tache_poste.[TACHES MAINTENANCE]
    FROM (Taches INNER JOIN Tache_poste ON Taches.[TACHES MAINTENANCE] = Tache_poste.[TACHES MAINTENANCE]) INNER JOIN [Execution taches] ON Tache_poste.Nposte_tache = [Execution taches].Nposte_tache
    WHERE (((Tache_poste.Num_post)=?) AND ((Taches.type)=0) AND ((Taches.Fréquance)=?) AND (([Execution taches].date1) Between ? And ?)))) AND ((tache_poste_detail.Num_post)="224") AND ((tache_poste_detail.type)=0) AND ((tache_poste_detail.Fréquance)="mensuel"))
    avec des paramètres : la coince.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT tache_poste_detail.[TACHES MAINTENANCE]
    FROM tache_poste_detail
    WHERE (((tache_poste_detail.[TACHES MAINTENANCE]) Not In (SELECT Tache_poste.[TACHES MAINTENANCE]
    FROM (Taches INNER JOIN Tache_poste ON Taches.[TACHES MAINTENANCE] = Tache_poste.[TACHES MAINTENANCE]) INNER JOIN [Execution taches] ON Tache_poste.Nposte_tache = [Execution taches].Nposte_tache
    WHERE (((Tache_poste.Num_post)=?) AND ((Taches.type)=0) AND ((Taches.Fréquance)=?) AND (([Execution taches].date1) Between ? And ?)))) AND ((tache_poste_detail.Num_post)=?) AND ((tache_poste_detail.type)=0) AND ((tache_poste_detail.Fréquance)=?))
    ça donne pas d’erreur ça me fait une requete vide c'est parce que les paramètres ce ressemble ou d'ordre ou quelque chose de ce genre.

    remarque :

    j'ai essayé avec le générateur de requete et ça a marché mais l'ordre des paramètre qui ma donné n'est pas le même
    explication
    l’ordre des paramètre dans le code: (string num poste,string fréquence,num poste,string fréquence,datetime date1,datetime date11)

    l'ordre des paramètre dans le générateur de requette
    ? num poste
    ? fréquence
    ? date1
    ? date2
    ? num poste
    ? fréquente

    quant j'essye de faire cette ordre dans le code ça généré une erreur puisque les deux derniers paramètres sont déclaré comme datetime .

    au faite c'est un projet que j'ai fini sur delphi et que je suis entrain de le refaire pour m"adapter (je commence récemment la programmation sous VS et c#) . merci d'avance.

  2. #2
    Membre Expert


    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 970
    Par défaut
    Bonjour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    SELECT tache_poste_detail.[TACHES MAINTENANCE]
    FROM tache_poste_detail
    WHERE tache_poste_detail.[TACHES MAINTENANCE]) Not In (SELECT Tache_poste.[TACHES MAINTENANCE]
    FROM (Taches INNER JOIN Tache_poste ON Taches.[TACHES MAINTENANCE] = Tache_poste.[TACHES MAINTENANCE]) INNER JOIN [Execution taches] ON Tache_poste.Nposte_tache = [Execution taches].Nposte_tache
    WHERE Tache_poste.Num_post=@Num_post AND Taches.type=0 AND Taches.Fréquance=@Frequence AND [Execution taches].date1 Between @date1 And @date2
    AND tache_poste_detail.Num_post=@num_post AND tache_poste_detail.type=0 AND tache_poste_detail.Fréquance=@frequence)
    tu dois pouvoir nommé tes paramètres en fait : "@frequence"

    et utiliser ce nom dans la déclaration de ton objet paramètre.

    Quelques petites remarques :
    - Essaie d'éviter les caractères accentués et les espaces dans le nom de tes tables et de tes champs même si c'est autorisé.
    - Evite de mettre des parenthèses inutiles dans ta requête, cela rend plus difficile la relecture.
    Articles sur les technologies .NET

    Une réponse vous a aidé ? utilisez le bouton

    Votre problème est résolu ? utilisez le bouton

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2012
    Messages : 238
    Par défaut
    Citation Envoyé par infosam76 Voir le message
    Bonjour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    SELECT tache_poste_detail.[TACHES MAINTENANCE]
    FROM tache_poste_detail
    WHERE tache_poste_detail.[TACHES MAINTENANCE]) Not In (SELECT Tache_poste.[TACHES MAINTENANCE]
    FROM (Taches INNER JOIN Tache_poste ON Taches.[TACHES MAINTENANCE] = Tache_poste.[TACHES MAINTENANCE]) INNER JOIN [Execution taches] ON Tache_poste.Nposte_tache = [Execution taches].Nposte_tache
    WHERE Tache_poste.Num_post=@Num_post AND Taches.type=0 AND Taches.Fréquance=@Frequence AND [Execution taches].date1 Between @date1 And @date2
    AND tache_poste_detail.Num_post=@num_post AND tache_poste_detail.type=0 AND tache_poste_detail.Fréquance=@frequence)
    tu dois pouvoir nommé tes paramètres en fait : "@frequence"

    et utiliser ce nom dans la déclaration de ton objet paramètre.

    Quelques petites remarques :
    - Essaie d'éviter les caractères accentués et les espaces dans le nom de tes tables et de tes champs même si c'est autorisé.
    - Evite de mettre des parenthèses inutiles dans ta requête, cela rend plus difficile la relecture.
    je ne sais pas pourquoi mais ça marche pas , ça me donne cette erreur :

    - erreur dans la clause WHERE a coté de '@' .
    - impossible d'analysé le texte de la requete .

    merci .

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    332
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2002
    Messages : 332
    Par défaut
    Et si tu enlevais l'accent?

  5. #5
    Membre Expert


    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 970
    Par défaut
    Il faut voir au niveau de la db avec laquelle tu travailles, le caractère permettant de spécifier que tu travailles avec un paramètre varie je pense ...
    Articles sur les technologies .NET

    Une réponse vous a aidé ? utilisez le bouton

    Votre problème est résolu ? utilisez le bouton

  6. #6
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2012
    Messages : 238
    Par défaut
    Citation Envoyé par infosam76 Voir le message
    Il faut voir au niveau de la db avec laquelle tu travailles, le caractère permettant de spécifier que tu travailles avec un paramètre varie je pense ...

    Avec access ,ce dernier accepte n'importe quelle lettre ou mot comme paramètre , j'ai même retapé ton code sur access directement est ça n'a pas posé de problème.c'est sous visuel studio que ça marche pas .

Discussions similaires

  1. probleme update avec where sur requete imbriqué
    Par JulienCEA dans le forum Requêtes
    Réponses: 11
    Dernier message: 04/06/2008, 11h44
  2. Probleme Requete Imbriqué
    Par SF2Boss dans le forum Requêtes
    Réponses: 3
    Dernier message: 15/06/2006, 15h21
  3. [MySQL] Probleme sur requetes imbriquées
    Par joxbl dans le forum Langage SQL
    Réponses: 41
    Dernier message: 12/04/2006, 17h20
  4. probleme de requete imbriquées
    Par copin dans le forum Requêtes
    Réponses: 5
    Dernier message: 22/10/2005, 04h45
  5. Probleme avec requete imbriquée
    Par LeDoc dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 26/09/2005, 17h11

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