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

ASP.NET Discussion :

afficher les données d'une requete sql sur deux tables avec un gridview


Sujet :

ASP.NET

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2009
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 24
    Points : 10
    Points
    10
    Par défaut afficher les données d'une requete sql sur deux tables avec un gridview
    bonjour, j'ai un problème au niveau de mon gridview,lorsque je teste ma requete sur les deux tables rien ne s'affiche comme résultat,je pense qu'il y a un pb de jointure mais je sais comment le résoudre,voila la requete utilisée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT     assure.nom_par, assure.pre_par
    FROM         assure INNER JOIN
                          salaire ON assure.cod_sec = salaire.cod_sec AND assure.num_adh = salaire.num_adh
    WHERE     (assure.cod_sec = ?) AND (assure.num_adh = ?) AND (salaire.cod_prd = ?)
    quand je teste j'entre le cod_sec , num_adh et cod_prd alors rien ne s'affiche
    sachant que je travaille sur visual web developper.merci pour votre aide.

  2. #2
    Membre confirmé Avatar de Redouane
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    435
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 435
    Points : 569
    Points
    569
    Par défaut
    Bonjour,

    t'a testé ta requette dans la base de données? si oui, tu peux nous filer le code (tt le code, aspx aussi) que t'a fais, pour voir le problème exactement ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Redouane me = new Redouane();
    if (me.Connect())
        me.ShareInformations();

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2009
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 24
    Points : 10
    Points
    10
    Par défaut
    j'arrive a effectué la jointure , le problème que j'ai c'est que j'ai oublié un champ lors de la jointure qui est num_parp qui fait référence a l'assuré dans dans la table salaire quand je teste la requete ça marche mais le gridview ne s'affiche pas dans le navigateur (firefox),je sais pas le problème d'ou? que dois je faire pour dépasser ce problème merci.

  4. #4
    Membre à l'essai
    Inscrit en
    Juillet 2009
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 24
    Points : 10
    Points
    10
    Par défaut
    bonjour,la requete sql affiche les résultats que je désire,je veux insérer ces résultats dans mon gridview mais j'arrive pas jusqu'a present.ce que je souhaite c'est de faire entrer le cod secteur de l'adherent( société), le numéro d'adhérent et la période dans des controles textbox et m'afficher dans le gridview le nom,prenom et le nombre de jour de travail des salariés d'un adherent donné pour une période donnée avec un colonne de sélection pour choisir un salarié a fin de mettre a jour ses donné.je demande votre aide.
    la requete est:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT     TOP 100 PERCENT dbo.assure.nom_par, dbo.assure.pre_par, dbo.salaire.mbr_mms
    FROM         dbo.assure INNER JOIN
                          dbo.salaire ON dbo.assure.cod_sec = dbo.salaire.cod_sec AND dbo.assure.num_adh = dbo.salaire.num_adh AND 
                          dbo.assure.num_parp = dbo.salaire.num_par
    WHERE     (dbo.assure.cod_sec = ?) AND (dbo.salaire.cod_prd = ?) AND (dbo.assure.num_adh = ?)

  5. #5
    Membre éprouvé

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 448
    Points : 1 234
    Points
    1 234
    Par défaut
    Est-ce que la propriété AutoGenerateColumns est à True dans ton gridview ?
    Most Valued Pas mvp

  6. #6
    Membre à l'essai
    Inscrit en
    Juillet 2009
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 24
    Points : 10
    Points
    10
    Par défaut
    je me rattrape la requete dans le génerateur de requete est la suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT assure.nom_par, assure.pre_par, salaire.mbr_mms FROM assure INNER JOIN salaire ON assure.cod_sec = salaire.cod_sec AND assure.num_adh = salaire.num_adh AND assure.num_parp = salaire.num_par WHERE (assure.cod_sec = ?) AND (assure.num_adh = ?) AND (salaire.cod_prd = ?)
    pour le code aspx:

    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
    <%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="majdessalairesm.aspx.cs" Inherits="_Default" Title="mise a jour des salaires" %>
     
    <asp:Content ID="Content1" ContentPlaceHolderID="Main" Runat="Server">
        <asp:Label ID="Label1" runat="server" Text="MISE A JOUR DES SALAIRES" 
            style="font-weight: 700; font-size: medium"></asp:Label>
        <br />
        <br />
        <asp:Label ID="Label2" runat="server" Text="Adherent" style="font-size: small"></asp:Label>
        &nbsp;:&nbsp;
        <asp:TextBox ID="TextBox1" runat="server" Width="40px"></asp:TextBox>
    &nbsp;
    &nbsp;<asp:TextBox ID="TextBox2" runat="server" Width="52px"></asp:TextBox>
        &nbsp;
     
        <br />
        <br />
        &nbsp;<asp:Label ID="Label4" runat="server" Text="Periode" style="font-size: small"></asp:Label>
        &nbsp;&nbsp;&nbsp; :<asp:TextBox ID="TextBox3" runat="server" Width="110px"></asp:TextBox>
        <br />
        <br />
        <asp:GridView ID="GridView1" runat="server" AllowPaging="True" 
            AutoGenerateColumns="False" BackColor="White" BorderColor="#CCCCCC" 
            BorderStyle="None" BorderWidth="1px" CellPadding="3" 
            DataSourceID="SqlDataSource1" 
            EmptyDataText="Il n'y a aucun enregistrement de données à afficher.">
            <RowStyle ForeColor="#000066" />
            <Columns>
                <asp:CommandField ShowSelectButton="True" />
                <asp:BoundField DataField="pre_par" HeaderText="prenom" 
                    SortExpression="pre_par" />
                <asp:BoundField DataField="nom_par" HeaderText="nom" SortExpression="nom_par" />
                <asp:BoundField DataField="nbr_jr" HeaderText="nbr_jr" 
                    SortExpression="nbr_jr" />
            </Columns>
            <FooterStyle BackColor="White" ForeColor="#000066" />
            <PagerStyle BackColor="White" ForeColor="#000066" HorizontalAlign="Left" />
            <SelectedRowStyle BackColor="#669999" Font-Bold="True" ForeColor="White" />
            <HeaderStyle BackColor="#006699" Font-Bold="True" ForeColor="White" />
        </asp:GridView>
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
            ConnectionString="<%$ ConnectionStrings:ConnectionString2 %>" 
            ProviderName="<%$ ConnectionStrings:ConnectionString2.ProviderName %>" 
     
            SelectCommand="SELECT assure.nom_par, assure.pre_par, salaire.mbr_mms FROM assure INNER JOIN salaire ON assure.cod_sec = salaire.cod_sec AND assure.num_adh = salaire.num_adh AND assure.num_parp = salaire.num_par WHERE (assure.cod_sec = ?) AND (assure.num_adh = ?) AND (salaire.cod_prd = ?)">
            <SelectParameters>
                <asp:ControlParameter ControlID="TextBox1" Name="?" PropertyName="Text" />
                <asp:ControlParameter ControlID="TextBox2" Name="?" PropertyName="Text" />
                <asp:ControlParameter ControlID="TextBox3" Name="?" PropertyName="Text" />
            </SelectParameters>
        </asp:SqlDataSource>
        <br />
     
        </asp:Content>

  7. #7
    Membre éprouvé

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 448
    Points : 1 234
    Points
    1 234
    Par défaut
    Je crois que tu confonds avec la syntax des prepared statment en php.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
    ConnectionString="<%$ ConnectionStrings:ConnectionString2 %>" 
    ProviderName="<%$ ConnectionStrings:ConnectionString2.ProviderName %>" 
    
    SelectCommand="SELECT assure.nom_par, assure.pre_par, salaire.mbr_mms FROM assure INNER JOIN salaire ON assure.cod_sec = salaire.cod_sec AND assure.num_adh = salaire.num_adh AND assure.num_parp = salaire.num_par WHERE (assure.cod_sec = ?) AND (assure.num_adh = ?) AND (salaire.cod_prd = ?)">
    <SelectParameters>
    <asp:ControlParameter ControlID="TextBox1" Name="?" PropertyName="Text" />
    <asp:ControlParameter ControlID="TextBox2" Name="?" PropertyName="Text" />
    <asp:ControlParameter ControlID="TextBox3" Name="?" PropertyName="Text" />
    </SelectParameters>
    </asp:SqlDataSource>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
    ConnectionString="<%$ ConnectionStrings:ConnectionString2 %>" 
    ProviderName="<%$ ConnectionStrings:ConnectionString2.ProviderName %>" 
     
    SelectCommand="SELECT assure.nom_par, assure.pre_par, salaire.mbr_mms FROM assure INNER JOIN salaire ON assure.cod_sec = salaire.cod_sec AND assure.num_adh = salaire.num_adh AND assure.num_parp = salaire.num_par WHERE (assure.cod_sec = @p1) AND (assure.num_adh = @p2) AND (salaire.cod_prd = @p3)">
    <SelectParameters>
    <asp:ControlParameter ControlID="TextBox1" Name="p1" PropertyName="Text" />
    <asp:ControlParameter ControlID="TextBox2" Name="p2" PropertyName="Text" />
    <asp:ControlParameter ControlID="TextBox3" Name="p3" PropertyName="Text" />
    </SelectParameters>
    </asp:SqlDataSource>
    Most Valued Pas mvp

  8. #8
    Membre à l'essai
    Inscrit en
    Juillet 2009
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 24
    Points : 10
    Points
    10
    Par défaut
    j'ai effectué les modifications que vous ma proposez et quand je teste la requete(je travaille avec visual web developper) le message suivant s'affiche:
    La variable '@p1' doit être déclarée

  9. #9
    Membre éprouvé

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 448
    Points : 1 234
    Points
    1 234
    Par défaut
    Essaie avec des @ dans les Name.

    Je t'avais indiqué ce que je trouvais dans la doc de microsoft (d'ailleurs faudra que j'aille me laver les mains).
    Most Valued Pas mvp

  10. #10
    Membre à l'essai
    Inscrit en
    Juillet 2009
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 24
    Points : 10
    Points
    10
    Par défaut
    j'ai essayé ce que m'a dit Mr Sergejack mais ça n'a pas marché si quelqu'un a une idée pour dépasser ce pb. merci

  11. #11
    Membre à l'essai
    Inscrit en
    Juillet 2009
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 24
    Points : 10
    Points
    10
    Par défaut
    je précise une chose quand j'initie les champs par des valeurs par exemple:
    SELECT assure.nom_par, assure.pre_par, salaire.mbr_mms FROM assure INNER JOIN salaire ON assure.cod_sec = salaire.cod_sec AND assure.num_adh = salaire.num_adh AND assure.num_parp = salaire.num_par WHERE (assure.cod_sec = 6) AND (assure.num_adh = 767) AND (salaire.cod_prd = 12009)

    et j'affiche la page dans le navigateur le résultat qui s'affiche est le suivant (voir la pièce jointe) .je souhaite faire entrer le cod_sec et le num_adh dans les deux textbox de adherent et la période dans l'autre textbox pour afficher les salariés d'un adhérent donné avec le champ de selection pour mettre a jour les données d'un salarié.merci pour votre aide

Discussions similaires

  1. [AJAX] Afficher les données d'une base SQL
    Par smotte761 dans le forum AJAX
    Réponses: 1
    Dernier message: 26/07/2011, 12h45
  2. [Smarty] Afficher les données d'une BDD sous forme de tableau avec options
    Par student_php dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 05/10/2010, 17h29
  3. Réponses: 4
    Dernier message: 02/06/2009, 15h57
  4. [SQL] Afficher les données d'une requete SQL
    Par griese dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 22/06/2006, 12h22
  5. afficher les resultats d'une requete mysql sur 3 colonnes
    Par harlock59 dans le forum Requêtes
    Réponses: 7
    Dernier message: 24/12/2005, 15h38

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