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 :

[débutant]méthode pour récupérer une liste


Sujet :

C#

  1. #1
    Membre habitué
    Inscrit en
    Août 2008
    Messages
    1 596
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 1 596
    Points : 175
    Points
    175
    Par défaut [débutant]méthode pour récupérer une liste
    Bonjour, je travaille sur une application de gestion de véhicule, un vehicule ayant le VIN x peut avoir plusieurs dossier, c'est pourquoi j'ai mis un codeVehicule comme identifiant, c'est unefonction qui donne une chaine de 36 caractère, donc pour un seul vehicule il peut y avoir plusieurs code mais un VIN unique, et sur chaque recpetion du vehicule un code lui sera attribué ainsi qu'un traitement, dans mon winForm je veux affiché les traitements qu'a subit un vehicule, j'ai pu recupérer le VIN du vehicule, et j'ai mis une méthode qui utilise derrière une procédure stockée et j'ai récupéré la liste des vehicules qui ont le num de chassis x (listeV), maintenant je dois cherché les demande qui a codeV(clé etrangère dans demande) et qui existe dans la liste que j'ai récupéré, la j'ai plus d'idée et je suis bloqué, est ce que je récupère les codeV a partir des vehicule qui existe dans listeV, puis je fais une procedure stocké, mais y a t'il une possibilité de passer un tableau de string a cette procédure ???

    Merci pour votre aide !

  2. #2
    Ziki_s
    Invité(e)
    Par défaut
    Je n'ai pas vraiment compris ce que tu voulais faire (pourtant j'ai relu.. mais rien à faire ). Pourrais-tu essayer de faire un schéma?

    Pour le peu que j'ai compris, un petite requête LinQ de ce style ne ferait pas l'affaire ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    var query = from d in listeRecuperee
                where listeV.codeV == listeRecuperee.codeV
                select d;
     
    foreach (object d in query)
      resultat.add(d);

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 201
    Points : 196
    Points
    196
    Par défaut
    Salut,

    J'ai pas tout compris non plus... Essaie de re-formater un peu ton post, n'ai pas peur de faire des paragraphe, de nous donnée des bouts de code ou des shémas comme le dis Ziki_s. Et surtout relis le

    Malgré tout, du peu que j'ai compris tes listes sont dans en fait des Tables SqlServer? A ce moment là une jointure avec quelque condition devrai faire l'affaire je suppose?

  4. #4
    Membre habitué
    Inscrit en
    Août 2008
    Messages
    1 596
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 1 596
    Points : 175
    Points
    175
    Par défaut
    ok, donc j'ai trois table

    traitement(idTraitement), demande(#idTraitement,#codeVehicule), vehicule(codeVehicule, VIN), codeVehicule est unique mais VIN ca peut figuré plusieurs fois mais on parle toujours du meme vehicule mais qui a subit des traitement différent.

    Mon but c'est de récupérer les traitement un vehicule ayant le VIN x,

    j'ai uniquement le VIN comme donnée, donc j'ai crée une méthode qui appelle une procédure stockée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CREATE Procedure [dbo].[SELECTVehiculeByVIN](@VIN varchar(20))
    AS
    SELECT  * FROM [Vehicule]
     
    WHERE [VIN]=@VIN
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    vehicules.LoadVehiculebyVIN("aaaaaaaaa");
                List<string> sreturn = new List<string>();
                foreach (Entity.Vehicule vehicule in vehicules)
                {
                    sreturn.Add(string.Format(vehicule.CodeVehicule));
                }
    elle me retourne tous enregistrement qui concerne le VIN d'un vehicule, donc j'ai ma liste de codeVehicule. (c'est fait)

    Ce qui me reste a faire, c'est de chercher dans BDdemande les demande dont le codeVehicule exist in sreturn(liste ), une fois les enregitrement sont récupéré je récupère les idTraitement.

    Si je recupère la liste des idTraitement je dois cherché dans la 3eme table toutes les infors relatifs au idTraitement qui existe dans la liste récupéré(liste des idTraitement)

    J'espère que j'étais clair parce que je suis un peu perdue dans cette partie du code?

    Après rec

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 201
    Points : 196
    Points
    196
    Par défaut
    C'est donc bien ce que je pensais, il faut que tu utilises des jointures SQL.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT  [demande].[idTraitement]
         FROM [Vehicule]
         JOIN [demande] ON [demande].[codeVehicule]  = [Vehicule].[codeVehicule]
    WHERE [Vehicule].[VIN]=@VIN
    Et là tu aura tous t'es IdTraitement, relatif a tout tes véhicules ayant un VIN égale à @VIN.

    EDIT:
    Et tu peut bien sur joindre sur la table Traitement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT  [Traitement].*
         FROM [Vehicule]
         JOIN [demande] ON [demande].[codeVehicule]  = [Vehicule].[codeVehicule]
         JOIN [Traitement] ON [demande].[idTraitement] = [Traitement].[idTraitement]
    WHERE [Vehicule].[VIN]=@VIN

  6. #6
    Membre habitué
    Inscrit en
    Août 2008
    Messages
    1 596
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 1 596
    Points : 175
    Points
    175
    Par défaut
    je dois créer une procédure stockée ???? mais normalement je dois récupérer aussi les tous champs a partir de la table Traitement en se basant sur les idTraitement ???

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 201
    Points : 196
    Points
    196
    Par défaut
    Tu peux mettre la requête que je t'ai donné dans une procédure stockée, elle remonte tous les champs de la table Traitement, qui sont associé à un véhicule, ces véhicules étant eux même associés à un VIN passé en paramètres.

    Après je ne sais pas ce que tu cherches récupérer exactement comme données? Les traitements? les Véhicules? les Commandes? ou alors tout?

  8. #8
    Membre habitué
    Inscrit en
    Août 2008
    Messages
    1 596
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 1 596
    Points : 175
    Points
    175
    Par défaut
    je veux récupérer les traitement

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 201
    Points : 196
    Points
    196
    Par défaut
    Alors le plus simple c'est que tu test ma deuxième requête, c'est normalement ce qu'elle fait (adapte le nom des champs, etc...)

  10. #10
    Membre habitué
    Inscrit en
    Août 2008
    Messages
    1 596
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 1 596
    Points : 175
    Points
    175
    Par défaut
    ah ok, désolée j'ai pas vu la jointure avec la table traitement

  11. #11
    Membre habitué
    Inscrit en
    Août 2008
    Messages
    1 596
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 1 596
    Points : 175
    Points
    175
    Par défaut
    J'ai oublié de mettre la tag résolu, merci à tous les intervenants

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

Discussions similaires

  1. Meilleure méthode pour remplir une liste
    Par kodo dans le forum Général Java
    Réponses: 4
    Dernier message: 15/05/2012, 12h06
  2. Meilleur méthode pour gérer une liste des blocks
    Par smyley dans le forum Algorithmes et structures de données
    Réponses: 41
    Dernier message: 22/07/2008, 02h06
  3. Réponses: 5
    Dernier message: 03/01/2008, 16h07
  4. Réponses: 5
    Dernier message: 18/12/2007, 16h17
  5. Réponses: 12
    Dernier message: 03/03/2007, 00h52

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