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 :

Deux sql datasource


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2010
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 63
    Par défaut Deux sql datasource
    Bonjour,

    J'ai 2 sqlDataSources je veux utiliser un champs de la 1ière comme paramètre de la 2ième, le voilà ce que j'ai fait:
    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
    <asp:ScriptManager ID="SM1" runat="server" />
    	
            <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
                ConnectionString="<%$ ConnectionStrings:GE_igaConnectionString %>"             
                SelectCommand="SELECT [Code_filiale], [libele_filiale], [description] FROM [Filiale]"></asp:SqlDataSource>
         
            <asp:Repeater ID="rep1" DataSourceID="SqlDataSource1" runat="server">
    	        <ItemTemplate>  
    			
                    <asp:SqlDataSource ID="SqlDataSource2" runat="server" 
    					ConnectionString="<%$ ConnectionStrings:GE_igaConnectionString %>" 
    					SelectCommand="SELECT [Code_option], [libelle_option] FROM [Option] WHERE ([code_filiale] = <%#DataBinder.Eval(Container.DataItem, "Code_filiale")%> ">
    						  <SelectParameters>
    							  <asp:Parameter Name="code_filiale" Type="String" />
    						  </SelectParameters>
    				</asp:SqlDataSource>
    				
    		        <asp:Panel ID="myPanel" runat="server" BackColor="Lime" BorderWidth="1px">
    			       <%#DataBinder.Eval(Container.DataItem, "libele_filiale")%>
    				 </asp:Panel> 
    				   
    		        <asp:Panel ID="HoverPanel" runat="server">
    					<asp:Repeater ID="rep2" DataSourceID="SqlDataSource2" runat="server">
    						<ItemTemplate> 
    							<%#DataBinder.Eval(Container.DataItem, "libelle_option")%>  <br />
    						</ItemTemplate> 
    					</asp:Repeater>
    		        </asp:Panel>
    				
    		        <ajaxToolkit:HoverMenuExtender ID="hme" runat="server" TargetControlID="myPanel" PopupControlID="HoverPanel"  />
    				
    	        </ItemTemplate> 
            </asp:Repeater>
    alors j'ai récupérer le code_filiale avec le databinder à l'intérieur de sqldatasource(voir en rose) , mais ça me donne une erreur

    Merci d'avance

  2. #2
    Membre éclairé Avatar de SonnyFab
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    498
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 498
    Par défaut
    Je pense que tu as oublié une parenthèse
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE ([code_filiale] = <%#DataBinder.Eval(Container.DataItem, "Code_filiale")%>) ">
    C'est une très bonne idée d'avoir deux sources je trouve, si ça passe fais-moi signe stp parce que je n'ai jamais essayé, chapeau

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2010
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 63
    Par défaut
    oui t'as raison j'ai oublié une parenthèse, je te fais signe si ça marche

    Merci

  4. #4
    Membre confirmé
    Inscrit en
    Janvier 2010
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 63
    Par défaut
    Salut,

    voilà j'ai trouvé la solution, on peux pas mettre le databind comme paramètre dans la requête mais doit être dans une balise paramètre alors j'ai créé un hidenFields dans sa valeur j'ai mis le data bind et je l'ai récupéré dans la balise <asp:ControlParameter />, voyant le code:
    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
     
     <asp:ScriptManager ID="SM1" runat="server" />
            <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
                ConnectionString="<%$ ConnectionStrings:GE_igaConnectionString %>" 
     
                SelectCommand="SELECT [Code_filiale], [libele], [description] FROM [Filiale]"></asp:SqlDataSource>
     
            <asp:Repeater ID="rep1" DataSourceID="SqlDataSource1" runat="server">
    	          <ItemTemplate>  
                      <ajaxToolkit:HoverMenuExtender ID="hme" runat="server" 
    		        TargetControlID="myPanel" PopupControlID="HoverPanel" 
    		        PopupPosition="Bottom" HoverDelay="10" PopDelay="5" Enabled="true"  >
     
    	            </ajaxToolkit:HoverMenuExtender> 
    	            <div style="float:left;">
    		        <asp:Panel ID="myPanel" runat="server" CssClass="MenuTop">
    			       <%#DataBinder.Eval(Container.DataItem, "libele")%></asp:Panel>
    			        <br />
    		        <asp:Panel ID="HoverPanel" runat="server" CssClass="PopupMenu">
     
                        <asp:HiddenField Value='<%#DataBinder.Eval(Container.DataItem, "Code_filiale")%>' ID="HiddenField1" runat="server" />
     
                         <asp:SqlDataSource ID="SqlDataSource2" runat="server" 
                         ConnectionString="<%$ ConnectionStrings:GE_igaConnectionString %>" 
                            SelectCommand="SELECT [Code_option], [libelle], [code_filiale] FROM [Option] WHERE ([code_filiale] = @code_filiale)">
                             <SelectParameters>
                            <asp:ControlParameter ControlID="HiddenField1" Name="code_filiale" 
                            PropertyName="Value" Type="String" />
                          </SelectParameters>
                        </asp:SqlDataSource>  
     
    		             <asp:Repeater ID="rep2" DataSourceID="SqlDataSource2" runat="server">
    	                      <ItemTemplate> 
    		                      <%#DataBinder.Eval(Container.DataItem, "libelle")%>  <br />
    		                      </ItemTemplate> 
                          </asp:Repeater>
     
    		        </asp:Panel>
    		       </div>
    	          </ItemTemplate> 
              </asp:Repeater>

  5. #5
    Membre éclairé Avatar de SonnyFab
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    498
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 498
    Par défaut
    super merci

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 26/10/2010, 18h31
  2. PL/SQL COMPARAISON DE DEUX TABLEAUX APRES BULK
    Par mimi_été dans le forum PL/SQL
    Réponses: 5
    Dernier message: 30/06/2009, 12h14
  3. [Oracle / Sql] Et logique entre deux bits
    Par shaun_the_sheep dans le forum Oracle
    Réponses: 5
    Dernier message: 15/03/2005, 14h35
  4. [SQL ORACLE] Soustraction de deux timestamps
    Par platinum07 dans le forum SQL
    Réponses: 34
    Dernier message: 02/07/2004, 10h42
  5. [SQL][ACCESS]Compter le nombres d'enregistrement dans deux..
    Par pc152 dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 05/06/2004, 12h30

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