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

Accès aux données Discussion :

[ADO.Net][OleDb] Pourquoi ma requête access ne fonctionne pas?


Sujet :

Accès aux données

  1. #1
    Membre habitué
    Profil pro
    Développeur Java
    Inscrit en
    Avril 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2006
    Messages : 130
    Points : 156
    Points
    156
    Par défaut [ADO.Net][OleDb] Pourquoi ma requête access ne fonctionne pas?
    Salut !

    J'ai une requete qui tourne très bien sous access, mais qui ne retourne rien dans mon appli av un DataGrid. D'autres requetes fonctionnent très bien dans la meme appli, sur le meme DataGrid et qui tournent aussi sur la meme BD Access/Jet.
    Est-ce que c'est déjà arrivé à qqun ? d'ou peut provenir cette erreur? Merci =)


    NB:Si besoin je peux mettre ma requete ici, mais comme elle fonctionne bien sous access, je pense pas que ça vienne d'elle...

  2. #2
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Citation Envoyé par Bapt.ice
    Salut !

    J'ai une requete qui tourne très bien sous access, mais qui ne retourne rien dans mon appli av un DataGrid. D'autres requetes fonctionnent très bien dans la meme appli, sur le meme DataGrid et qui tournent aussi sur la meme BD Access/Jet.
    Est-ce que c'est déjà arrivé à qqun ? d'ou peut provenir cette erreur? Merci =)


    NB:Si besoin je peux mettre ma requete ici, mais comme elle fonctionne bien sous access, je pense pas que ça vienne d'elle...
    Mets-la
    Ce n'est pas parce qu'elle tourne sous access qu'elle puisse fonctionner telle qu'elle dans ton appli

    met_nous le code qui va avec ainsi on pourra aussi voir quel langage tu utilises
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  3. #3
    Membre habitué
    Profil pro
    Développeur Java
    Inscrit en
    Avril 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2006
    Messages : 130
    Points : 156
    Points
    156
    Par défaut
    Attention les yeux ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    SELECT O.NOM & ' ' & O.PNOM AS OPERATEUR,
     F.NOMF & ' ' & F.PNOMF AS FORMATEUR, T.JOUR, T.SITE,
     IIf(T.TYPE='True','Chasse','Autre') AS Type, T.TITRE,
     IIf(T.TYPE='True',T.RISQUES,'') AS RISQUES,
     IIf(T.TYPE='True',T.PREVENTIONS,'') AS PREVENTIONS,
     IIf(T.TYPE='False',T.SCORE,'') AS SCORE, T.TOTAL,
     IIf(T.LIVRET='True','Oui','Non') AS LIVRET, 
     IIf(T.FILM='True','Oui','Non') AS FILM
    FROM FORMATEUR AS F, OPERATEUR AS O, TEST AS T
    WHERE T.OID=O.OID 
    And T.FID=F.FID 
    And O.NOM & ' ' & O.PNOM Like '*a*' ;
    NB:Voila c'est tout beau ! =)
    Au moins meme si jprogramme mal, j'me ferai peut-etre repérer pour mes talents de colorateur sql

    Code qui va avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    afficheDataGrid(query);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    private void afficheDataGrid(string qr)
            {
                try
                {
                    connexion.Open();
        
                    DataSet ds = new DataSet();
                    DataTable dt = new DataTable("tests");
                    
                    MessageBox.Show(qr);
                    OleDbDataAdapter da = new OleDbDataAdapter(qr, connexion);
                    da.Fill(dt);
    
                    ds.Tables.Add(dt);
                                
                    datagrid.DataSource = ds.Tables["tests"];
                                
                    connexion.Close();
                }
                catch(System.Data.OleDb.OleDbException er)
                {MessageBox.Show(er.ToString());}
            }
    ------------------------------------------------------------------------
    Bon comme quoi ça doit pas venir de l'appli, si je remplace ma query par celle-ci, ça fonctionne : (j'ai juste enlevé la dernière ligne)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SELECT O.NOM & ' ' & O.PNOM AS OPERATEUR,
     F.NOMF & ' ' & F.PNOMF AS FORMATEUR, T.JOUR, T.SITE, 
    IIf(T.TYPE = 'True','Chasse','Autre') AS Type, T.TITRE, 
    IIf(T.TYPE = 'True',T.RISQUES,'') AS RISQUES, 
    IIf(T.TYPE = 'True',T.PREVENTIONS,'') AS PREVENTIONS, 
    IIf(T.TYPE = 'False',T.SCORE,'') AS SCORE, T.TOTAL, 
    IIf(T.LIVRET = 'True','Oui','Non') AS LIVRET, 
    IIf(T.FILM = 'True','Oui','Non') AS FILM 
    FROM FORMATEUR AS F, OPERATEUR AS O, TEST AS T 
    WHERE T.OID = O.OID And T.FID = F.FID;
    C'est le LIKE à la fin qui fonctionne pas...
    Comment je peux faire pour vérifier si une chaine existe dans la première colonne (concaténation de deux colonnes NOM et PNOM de la BD) au lieu de :
    ...
    AND O.NOM & ' ' & O.PNOM LIKE '*a*' ;

    Merci.

  4. #4
    Membre habitué
    Profil pro
    Développeur Java
    Inscrit en
    Avril 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2006
    Messages : 130
    Points : 156
    Points
    156
    Par défaut
    Bon, j'ai trouvé... (de quoi décourager les débutants comme moi) :
    avec des % ça fonctionne !! au lieu des *
    (pourtant access ça fonctionne avec les '*' .. )
    alors ça viendrait de VS.NET ??

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2003
    Messages : 112
    Points : 118
    Points
    118
    Par défaut
    Possible mais ce sont avec les % que marche SQL server
    David Lafrance

  6. #6
    Rédacteur
    Avatar de JauB
    Homme Profil pro
    Freelancer
    Inscrit en
    Octobre 2005
    Messages
    1 792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Maroc

    Informations professionnelles :
    Activité : Freelancer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 792
    Points : 2 914
    Points
    2 914
    Par défaut
    penser au résolu svp
    Mes articles, Mon Blog

    Rubrique Jasper/iReport :
    ------- Forum Jasper --------
    ----- FAQ Jasper/iReport -----


  7. #7
    Membre habitué
    Profil pro
    Développeur Java
    Inscrit en
    Avril 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2006
    Messages : 130
    Points : 156
    Points
    156
    Par défaut
    ui Oracle aussi fonctionne avec les % je crois, mais le fait que dans Access, il refuse les % et qu'il les accepte quand on utilise son 'moteur' me paraît abusé !
    Désolé pr le résolu

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 02/05/2006, 13h19
  2. [ADO.Net][C#] Pourquoi OracleConnection lève une exception ?
    Par meuledor dans le forum Accès aux données
    Réponses: 2
    Dernier message: 26/01/2006, 17h54
  3. [ADO.Net][C#]Pourquoi connexion fermée est active>SQLServ
    Par superbobo dans le forum Accès aux données
    Réponses: 3
    Dernier message: 25/01/2006, 17h57
  4. Réponses: 2
    Dernier message: 26/10/2005, 11h44
  5. [ADO.NET] Installation appli utilisant base access
    Par Didier69 dans le forum Accès aux données
    Réponses: 2
    Dernier message: 27/09/2004, 11h50

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