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

Silverlight Discussion :

Executer une requete sql en C#/silverlight puis stoker le resultat dans une List


Sujet :

Silverlight

  1. #1
    Invité
    Invité(e)
    Par défaut Executer une requete sql en C#/silverlight puis stoker le resultat dans une List
    Bonjour.
    Quelqu'un pourrais t'il m'expliquer ou me donner un tuto qui m'expliquerai comment executer une requete SQL en Silverlight qui interroge ma table Employee de ma base Northwind et qui stocke le resultat dans une List.
    J'utilise Silverlight + C# et comme base de donne j'utilise Microsoft SQL Server .
    IDE = Visual Studio


    Merci de bien vouloir m'aider.
    J'en ai vraiment besoin et je ne sais pas par ou commencer.
    Merci
    Dernière modification par Invité ; 04/10/2010 à 22h24.

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Silverlight ne peut pas accéder directement à une base de données. Il faut passer par un service WCF qui s'occupera de l'accès à la base. Il y a des tutos un peu partout sur le sujet, cherche un peu...

  3. #3
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    pour la mise en place de WCF pour silverlight on m'a répondu la marche à suivre ici :

    http://www.developpez.net/forums/d97...r/#post5454413


    après pour l'accès aux données c'est comme sur une application normale



    sinon silverlight doit pouvoir accéder à une base de données directement, mais avec les droits full ou un certificat, et ca ne marche peut etre qu'out of browser
    m'enfin cette piste n'est pas la plus simple
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    sinon silverlight doit pouvoir accéder à une base de données directement, mais avec les droits full ou un certificat, et ca ne marche peut etre qu'out of browser
    Ben pas avec ADO.NET alors... le namespace System.Data n'existe même pas en SL, il y a juste System.Data.Services

  5. #5
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    et on peut pas ajouter la bonne référence ?

    parce qu'il me semble avoir fait des tests et je me prenais une erreur dans les dents
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    et on peut pas ajouter la bonne référence ?
    Non, l'assembly System.Data n'existe même pas...
    Voilà tout ce qui est disponible :
    http://msdn.microsoft.com/en-us/libr...8VS.95%29.aspx

  7. #7
    Invité
    Invité(e)
    Par défaut
    Merci pour vos reponse.
    mais pour faire plus simple est ce que je ne pourrais pas avoir un exemple d'appli en silverlight qui selectionne les donnees d'une BDD et les affichent dans une List.

    Au cas une personne aurait un tuto qui traite de ca je suis preneur.
    merci

  8. #8
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    je t'ai donné un lien qui explique comment faire un site silverlight avec du wcf

    après wcf c'est pas dur, tu mets un attribut au dessus des membres que tu veux appeler

    et pour les données, c'est comme sur une appli normale, donc il y a des exemples sur le net

    ou alors pose des questions plus précises
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  9. #9
    Invité
    Invité(e)
    Par défaut
    Merci d'avoir repondu.

    Je suis un novice en silverlight et je compte faire le maximum pour maitriser cette technologie.

    Je me suis lance il y a pas longtemps.
    Je sais comment afficher des donnees d'un bdd en Silverlight en utilisant Linq et WCF.
    Cependant je ne suis pas encore un vrai pro et dire a silverlight rempli moi cette List avec les donnees de cette tables. ca je ne sais pas comment le faire.

    Je te donne le code source complet de mon fichier mainpage.xaml.cs

    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Linq;
    using System.Windows;
    using System.Windows.Controls;
    using Telerik.Windows.Controls;
    using Telerik.Windows.Controls.Charting;
    using Telerik.Windows.Data;
    #if SILVERLIGHT
    using SelectionChangedEventArgs = Telerik.Windows.Controls.SelectionChangedEventArgs;
    #endif
     
    namespace RadControlsWpfApp22
    {
        /// <summary>
        /// Interaction logic for MainWindow.xaml
        /// </summary>
        public partial class MainWindow : Window
        {
            private List<GDPData> Data
            {
                get
                {
                    List<GDPData> gdpData = new List<GDPData>();
     
                    gdpData.Add(new GDPData("Philosophy", 18387785));
                    gdpData.Add(new GDPData("French", 4910692));
                    gdpData.Add(new GDPData("English", 1676586));
                    gdpData.Add(new GDPData("Hist. & Geo.", 1601964));
                    gdpData.Add(new GDPData("Mathematics", 2866951));
                    gdpData.Add(new GDPData("Physic & Chimistry", 14441425));
                    gdpData.Add(new GDPData("Life and Soil Sc.", 3673105));
                    gdpData.Add(new GDPData("Artistic Edu.", 2313893));
                    gdpData.Add(new GDPData("Computer Sc.", 4327448));
                    gdpData.Add(new GDPData("P.S.T.", 2680000));//Physical and Sporting Tests
     
                    return gdpData;
                }
            }
     
            public MainWindow()
            {
                InitializeComponent();
                CountriesBox.ItemsSource = this.Data;
     
                this.ConfigureChart();
            }
     
     
     
             private void ConfigureChart()
            {
                RadChart1.DefaultView.ChartTitle.Content = "Top 10 Countries by GDP 2008 (nominal)";
                RadChart1.DefaultSeriesDefinition.ShowItemToolTips = true;
                RadChart1.DefaultSeriesDefinition.ItemToolTipFormat = "#Y{C0} million";
                RadChart1.DefaultView.ChartArea.AxisY.Title = "GDP (mil USD)";
                RadChart1.DefaultView.ChartArea.EnableAnimations = false;
                RadChart1.DefaultSeriesDefinition.LegendDisplayMode = LegendDisplayMode.DataPointLabel;
     
                SeriesMapping gdpSeriesMapping = new SeriesMapping();
                gdpSeriesMapping.LegendLabel = "GDP (millions of USD)";
                gdpSeriesMapping.ItemMappings.Add(new ItemMapping("Country", DataPointMember.XCategory));
                gdpSeriesMapping.ItemMappings.Add(new ItemMapping("GDP", DataPointMember.YValue));
                gdpSeriesMapping.ItemMappings.Add(new ItemMapping("Country", DataPointMember.LegendLabel));
     
                RadChart1.SeriesMappings.Add(gdpSeriesMapping);
     
                RadChart1.ItemsSource = this.Data;
            }
     
            private void SortSelectionChanged(object sender, SelectionChangedEventArgs e)
            {
                if (RadChart1 == null || SortGDP == null || SortCountry == null)
                    return;
     
                RadChart1.SortDescriptors.SuspendNotifications();
                RadChart1.SortDescriptors.Clear();
     
                string sortByCountry = (SortCountry.SelectedValue as RadComboBoxItem).Content as string;
                string sortByGDP = (SortGDP.SelectedValue as RadComboBoxItem).Content as string;
     
                this.ApplySorting(sortByCountry, "Country");
                this.ApplySorting(sortByGDP, "GDP");
     
                RadChart1.SortDescriptors.ResumeNotifications();
            }
     
            private void CheckBox_Checked(object sender, RoutedEventArgs e)
            {
                CheckBox sourceCheckbox = e.OriginalSource as CheckBox;
                Queue<ChartFilterDescriptor> filtersToRemove = new Queue<ChartFilterDescriptor>();
     
                foreach (ChartFilterDescriptor descriptor in RadChart1.FilterDescriptors)
                {
                    if (descriptor.Value.Equals(sourceCheckbox.Content))
                        filtersToRemove.Enqueue(descriptor);
                }
     
                foreach (ChartFilterDescriptor descriptor in filtersToRemove)
                    RadChart1.FilterDescriptors.Remove(descriptor);
            }
     
            private void CheckBox_Unchecked(object sender, RoutedEventArgs e)
            {
                CheckBox sourceCheckbox = e.OriginalSource as CheckBox;
     
                RadChart1.FilterDescriptors.Add(new ChartFilterDescriptor("Country", typeof(string), FilterOperator.IsNotEqualTo, sourceCheckbox.Content));
     
            }
     
            private void ApplySorting(string sortDirection, string fieldName)
            {
                if (sortDirection.ToLower() != "none")
                {
                    if (sortDirection.ToLower() == "asc")
                        RadChart1.SortDescriptors.Add(new ChartSortDescriptor(fieldName, ListSortDirection.Ascending));
                    else
                        RadChart1.SortDescriptors.Add(new ChartSortDescriptor(fieldName, ListSortDirection.Descending));
                }
            }
     
            public class GDPData
            {
                private string _country;
                private decimal _gdp;
     
                public string Country
                {
                    get
                    {
                        return this._country;
                    }
                    set
                    {
                        this._country = value;
                    }
                }
     
                public decimal GDP
                {
                    get
                    {
                        return this._gdp;
                    }
                    set
                    {
                        this._gdp = value;
                    }
                }
     
                public GDPData(string country, decimal gdp)
                {
                    this.GDP = gdp;
                    this.Country = country;
                }
     
     
            }
     
        }
    }
    Le problème que j'ai c'est que je voudrais c'est que
    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
    private List<GDPData> Data
            {
                get
                {
                    List<GDPData> gdpData = new List<GDPData>();
     
                    gdpData.Add(new GDPData("Philosophy", 18387785));
                    gdpData.Add(new GDPData("French", 4910692));
                    gdpData.Add(new GDPData("English", 1676586));
                    gdpData.Add(new GDPData("Hist. & Geo.", 1601964));
                    gdpData.Add(new GDPData("Mathematics", 2866951));
                    gdpData.Add(new GDPData("Physic & Chimistry", 14441425));
                    gdpData.Add(new GDPData("Life and Soil Sc.", 3673105));
                    gdpData.Add(new GDPData("Artistic Edu.", 2313893));
                    gdpData.Add(new GDPData("Computer Sc.", 4327448));
                    gdpData.Add(new GDPData("P.S.T.", 2680000));//Physical and Sporting Tests
     
                    return gdpData;
                }
            }
    soit approvisionner depuis ma BDD et non plus avec cette methode de donnees Statiques.

    Pouvez vous m'aider

  10. #10
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    http://plasserre.developpez.com/cour...ees1#LXVII-B-3

    le principe c'est qu'il faut une connexion
    puis un command qui contient la requete et lui dire quelle objet connexion utiliser
    ouvrir la connexion
    faire command.executenonquery pour une requete sans retour (update, delete ...)
    ou dim reader = command.executereader pour une requete avec retour (select, procédure stockée contenant un select etc..)
    pour le reader faire un ensuite un while reader.Read pour parcourir les lignes
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  11. #11
    Invité
    Invité(e)
    Par défaut
    Excuse moi. je viens de rééditer mon ancien post.
    je disais :

    Merci pour ta reponse.
    mais ce qui me bloque c'est que theoriquement j'ai compris.
    mais je n'arrive pas a le faire en pratique.

    Si tu pouvais par exemple essayer de me donner une procedure detaille
    (Ouvre VS > Creation de Projet > Silverlight > Ajoute un service WCF au projet web de la solution silverlight cree>...) ce sera bien .

  12. #12
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    Citation Envoyé par ekiemody Voir le message
    Je sais comment afficher des donnees d'un bdd en Silverlight en utilisant Linq et WCF.


    Citation Envoyé par ekiemody Voir le message
    Si tu pouvais par exemple essayer de me donner une procedure detaille
    (Ouvre VS > Creation de Projet > Silverlight > Ajoute un service WCF au projet web de la solution silverlight cree>...) ce sera bien .

    pour qu'on te comprenne, il va falloir que tu comprennes ton problème parce que "je sais faire du wcf dans silverlight" et "comment faire du wcf dans silverlight", je ne vois pas ce qu'on peut te répondre


    de plus je t'ai donné un lien qui explique ou cliquer dans vs pour faire du wcf dans silverlight
    et je t'ai aussi donné un lien sur comment accéder à une base de données en .net (car que tu sois dans un service wcf ou sur un exe c'est le meme code)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  13. #13
    Invité
    Invité(e)
    Par défaut
    Excusez moi si je n'ai pas donner de suite.
    Je voudrais que l'on reparte sur de bonne base.
    Pouvez vous m'indiquer s'il vous plait la demarche a suivre s'il vous plait.
    J'en ai vraiment besoin.

    Voila ce que je pense juste de faire. Creer au sein du projet (vu qu'il existe deja), un service d'acces aux donnees (WCF), puis remplir la List avec les données de la base de données. (Mais c'est la que je bute)

  14. #14
    Invité
    Invité(e)
    Par défaut
    Merci encore a toi Pol63 pour ta contribution.
    J'ai lu ton tuto ainsi que plusieurs autres et je peux maintenant acceder permettre l'acces a une BDD SQL SERVER via WCF.
    Tu dis m'avoir
    donné un lien sur comment accéder à une base de données en .net
    J'ai beau revisite des anciens post mais je ne les vois pas.
    Peux tu me le repasser STP

    Et aussi je voulais te demander une chose.
    Crois tu que ce que je voudrais faire (remplir ma List depuis ma BDD) est mieux avec Linq ou bien je continue avec celle la (la solution sur laquelle on est c'est a dire executer du SQL depuis le code C#).

    Merci

  15. #15
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    http://plasserre.developpez.com/cour...ees1#LXVII-B-3 qui pointe sur "Les Objets ADO.NET"

    ensuite que tu utilises linq to sql, ado.net standard ou entity framework ca revient au meme au final, c'est à toi de choisir
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  16. #16
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2009
    Messages : 159
    Par défaut
    Hello,

    J'arrive peut-être après la bataille mais j'ai publié une série de 3 tutoriaux qui devrait peut-être t'intéresser : http://blogs.msdn.com/b/davrous/arch...e-de-code.aspx

    Bye,

    David Rousset
    Microsoft France

Discussions similaires

  1. [MySQL] Comparer des info date dans une requete SQL
    Par kaygee dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 06/01/2006, 21h56
  2. pb de guillemet dans une requete SQL
    Par linouline dans le forum Langage SQL
    Réponses: 1
    Dernier message: 23/12/2005, 11h38
  3. [JDBC]Caractères spéciaux dans une requete SQL
    Par frizby dans le forum JDBC
    Réponses: 2
    Dernier message: 28/11/2005, 18h01
  4. Réponses: 1
    Dernier message: 25/10/2005, 12h18
  5. Mettre a jour les Parametres dans une requete SQL
    Par Tartar Ukid dans le forum C++Builder
    Réponses: 7
    Dernier message: 31/03/2004, 13h51

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