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 :

Petit projet c#


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 55
    Par défaut Petit projet c#
    Bonjour,

    J'aimerai concevoir une application qui puisse récupérer des informations d'une part d'une base de données et d'autre part d'une API.
    J'arrive à récupérer des informations de la BD et de l'API. Mais maintenant je recherches le moyen de faire une jointure entre ces deux résultats.
    Par exemple:
    Je recois des ID de l'API que je dois envoyer à ma BD pour récupérer d'autres résultats de la BD.
    Je pense à une requête de type where avec la liste des id mais comment faire ?

    Merci

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    1 377
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 377
    Par défaut
    Vous utilisez LinQ ?

    Qu'est ce qui vous empêche de récupérer les infos de l'API et les utiliser ensuite pour récupérer les données de la DB ?

    Je vois où est ce que ça coince ...
    Échouer, c'est avoir la possibilité de recommencer de manière plus intelligente.

    Twitter Blog Mon site

    Mon article sur l'agilité

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 55
    Par défaut
    Je débutes
    Donc j'ai fait deux fonctions :

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    public string xmlAPI()
            {
     //Adresse du xml
                string url = "";
                XDocument xDocument = XDocument.Load(url);
                var v = from g in xDocument.Descendants("").Descendants("")
                        select new
                        {
                            title = g.Element("id").Value,
                        };
                String result = string.Empty;
     
                foreach (var item in v)
                {
                    String title = item.title;
                    result += title + "_";
                }
     
                return result;
            }
     
            public string connectBD(string id)
            {
                string connectString = "Data Source=localhost;";
                SqlConnection tConnection = new SqlConnection(connectString);
                tConnection.Open();
                string[] listId = id.Split('_');
                string sSQL = "Select * from Table where id= " + id;
                SqlCommand tCommand = new SqlCommand(sSQL, tConnection);
                SqlDataReader tDataReader = tCommand.ExecuteReader();
                if (tDataReader.HasRows)
                {
                    tDataReader.Read();            
                }
                tDataReader.Close();
                tConnection.Close();
       ?? return liste des items sélectionnés
            }
    Est ce que c'est la bonne direction?

  4. #4
    Membre émérite Avatar de ppphil
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    617
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2007
    Messages : 617
    Par défaut
    Explique un peu :
    - ce que tu as en entrée
    - ce que tu veux donner en sortie
    - sur quoi porte ta requête
    - etc...
    Sans vouloir te vexer, ton code c'est un peu n'importe quoi.
    Je pense que si tu mets tes idées sur papier tu seras plus clair et on pourra mieux t'aider....

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 55
    Par défaut
    OK.

    - ce que tu as en entrée
    Une base de données SQL Server et une API (http://api.flightcaster.com/).
    L'API donne en sortie du xml
    - ce que tu veux donner en sortie
    Une jointure entre mes deux sources de données. Je souhaites sélectionner des id de ma base sql Server à partir des données délivrées par l'API (une jointure?).

    C'est un peu plus clair?

  6. #6
    Membre émérite Avatar de ppphil
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    617
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2007
    Messages : 617
    Par défaut
    string[] listId = id.Split('_');
    string sSQL = "Select * from Table where id= " + id;
    Ça veut dire quoi ça ???
    A quoi sert le listId ???
    Comment peux-tu concevoir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    where id = "id1_id2_id3_id4_id5_id6"
    C'est pourtant bien ce que tu écris dans ton code !!
    Est-ce que tu veux obtenir de ta requête toutes les lignes correspondant à tous les id que tu as dans ton tableau ???
    Ca ressemble à ça les bonnes questions.
    Par ce que là, tu ne fais que répéter ton premier post...

  7. #7
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    1 377
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 377
    Par défaut
    Citation Envoyé par galileogis Voir le message
    Je débutes
    Tout le monde doit bien débuter un jour

    Je te conseil de suivre quelques tutou (Developpez ou coach .NET avec MSDN).
    Par exemple pour les requêtes SQL, vaux mieux utiliser les requêtes paramétrés (voir ici).

    Concernant ton problème ... Une fois que tu as chargé ton XML, il est pas forcément judicieux de les concaténées dans un string, vaut mieux utiliser une List ou un tableau ...
    La méthode qui charge à partir de la base devrait prendre en paramètre ta collection et la parcourir pour récupérer pour chaque ID la ligne concernée dans ta base (et non ça ne s'appelle pas jointure ...).

    Ah oui il faut utiliser la balise
    Échouer, c'est avoir la possibilité de recommencer de manière plus intelligente.

    Twitter Blog Mon site

    Mon article sur l'agilité

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 55
    Par défaut
    Merci.
    Je vais m'instruire

Discussions similaires

  1. Petit projet RMI sous eclipse
    Par Goupil dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 21/10/2008, 22h49
  2. Cherche tuteur pour encadrer un petit projet.
    Par mikaloop dans le forum Access
    Réponses: 11
    Dernier message: 05/03/2006, 18h15
  3. petit projet sur le port série et parallele
    Par pepper18 dans le forum C
    Réponses: 5
    Dernier message: 12/01/2006, 14h14
  4. Avis sur un petit projet
    Par nicolas66 dans le forum OpenGL
    Réponses: 10
    Dernier message: 02/02/2005, 00h27

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