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 :

Pb Objectdatasource selectmethod parameter


Sujet :

ASP.NET

  1. #1
    Membre éclairé
    Inscrit en
    Janvier 2008
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 285
    Par défaut Pb Objectdatasource selectmethod parameter
    Bonjour!!

    j'ai une datagrid qui utilise un ObjectdataSource quand j'apelle ma method j'ai cette exception qui se lève :
    ObjectDataSource 'ObjectDataSourceDG_NC' n'a pas pu trouver une méthode 'selectNC' non générique qui a des paramètres : Cause
    Je comprends bien que c'est une erreur de paramètre mais je n'arrive pas a la solutionner.
    Voici mon 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
     
     
    <asp:DataGrid ID="DG_NC"  runat="server"  autogeneratecolumns="false" CellPadding="5" Visible="true" Width="1px" DataSourceID="ObjectDataSourceDG_NC">
                            <HeaderStyle BackColor="Black" HorizontalAlign="Center" ForeColor="White" BorderColor="Black" />
                                <Columns>            
                                    <asp:TemplateColumn HeaderText="test" >
                                        <ItemTemplate>
                                           <asp:CheckBox ID="test" Visible="true" runat="server"/>
                                        </ItemTemplate>
                                     </asp:TemplateColumn>
                                </Columns>
                                <Columns>
                                     <asp:BoundColumn DataField="Cause" HeaderText="Cause N/C"></asp:BoundColumn>                                 
                                </Columns>
                        </asp:DataGrid>    
                       <asp:objectdatasource id="ObjectDataSourceDG_NC" runat="server" typeName="potez.helios.C_Q_NCONF_SUIVI" selectmethod="selectNC">
                                           <SelectParameters>                        
                                                 <asp:Parameter Name="Cause" Type="String" />  
                                           </SelectParameters>
                        </asp:objectdatasource>
    et ma méthode ??

    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
     
        public List<C_Q_NCONF_SUIVI> selectNC(string param)
        {
     
            //List<string> listCause = new List<string>(count);
           OracleConnection OraCnx = potez.utils.DBFactory.getDBConnection();
            OracleCommand oCmd = new OracleCommand();
     
            OracleParameter PrmNC = new OracleParameter();
     
            List<C_Q_NCONF_SUIVI> listCause = C_Q_NCONF_SUIVI.getByParameter(PrmNC);
     
     
           C_Q_NCONF_SUIVI CAUSE =C_Q_NCONF_SUIVI.getByPK(new OracleNumber());
                   return null;
        }
    Merci a tous

  2. #2
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Par défaut
    console.writeline ca ne va pas le faire en asp.Net.
    Sinon au lieu de Name="Cause" mais plutot name="param" je crois qu'il faut qu'il y ait le même nom pour le parametre aussi.

  3. #3
    Membre éclairé
    Inscrit en
    Janvier 2008
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 285
    Par défaut
    Salut!!! Merci pour ta réponse.
    Ca ne fonctionne toujours pas, je n'utilise plu le console.write().

  4. #4
    Membre éclairé
    Inscrit en
    Janvier 2008
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 285
    Par défaut
    Re :
    J'ai maintenant une methode sans paramètre mais j'ai la même erreur.

  5. #5
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Par défaut
    le namespace potez.helios.C_Q_NCONF_SUIVI est bon?
    ta methode est bien dans la classe C_Q_NCONF_SUIVI ?

  6. #6
    Membre éclairé
    Inscrit en
    Janvier 2008
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 285
    Par défaut
    Tu as raison le problem vient de la.
    jarrive pas a atteindre la bonne classe.
    En fet elle se trouve dans mon fichier .cs attacher au fichier aspx.
    Comment peut on latteindre?
    merci

  7. #7
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Par défaut
    il faut la mettre dans app_code ou bien tu le fais avec VS.

  8. #8
    Membre éclairé
    Inscrit en
    Janvier 2008
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 285
    Par défaut
    Re :
    Merci bien.
    C bien cela.
    Parcontre g une nouvelle erreur i me trouve plus le champ de la base.

  9. #9
    Membre éclairé
    Inscrit en
    Janvier 2008
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 285
    Par défaut
    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
     // Sélection de toutes les N/C
            public List<string> selectNC()
            {
                C_Q_NCONF_SUIVI CAUSE = new C_Q_NCONF_SUIVI();
                int count = 0;
              
                OracleConnection OraCnx = potez.utils.DBFactory.getDBConnection();
                OracleCommand oCmd = new OracleCommand();
    
                OracleParameter PrmNC = new OracleParameter();
    
                String sqlCommand = CAUSE.SelectQuery;
              
                oCmd.Parameters.Add(PrmNC);
                oCmd.CommandText = sqlCommand;
                oCmd.Connection = OraCnx;
    
                OracleDataReader rdr = oCmd.ExecuteReader();
                
                List<string> listCause = new List<string>(rdr.VisibleFieldCount);
                
                while (rdr.Read())
                {
                    if (listCause.Count < rdr.VisibleFieldCount)
                    {
                       StringColumn Description = rdr.GetString(rdr.GetOrdinal("CAUSE"));                  //   listCause.Add(Description);               
                      //   count++;
                    }
                    else break;
                }
    
                return listCause;
            }

  10. #10
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    StringColumn Description = rdr.GetString(rdr.GetOrdinal("CAUSE"));
    ca fait quoi ce truc?
    rdr.GetString ca doit te retourner la valeur du champ de ta base. et la tu fais rdr.GetOrdinal("CAUSE") qui n'est pas un champs de la table donc forcement ton GetString ne marche, je pense.

  11. #11
    Membre éclairé
    Inscrit en
    Janvier 2008
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 285
    Par défaut
    si je ne met le getOrdinal pas j'ai cette erreur :
    Error 53 La méthode surchargée correspondant le mieux à 'System.Data.Common.DbDataReader.GetString(int)' possède des arguments non valides

  12. #12
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Par défaut
    explication:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select toto, titi, tutu from Table
    quand tu veux récupérer titi. tu fais un GetString(1).

  13. #13
    Membre éclairé
    Inscrit en
    Janvier 2008
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 285
    Par défaut
    Merci bien.
    Une autre petite kestion,
    Comment puis je mettre ces valeurs dans mon dataGrid??
    G rien ki s'affiche.

  14. #14
    Membre éclairé
    Inscrit en
    Janvier 2008
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 285
    Par défaut
    En fait, plus précisément comment je peux afficher les valeurs récupérées dans un label ou dans une boundColumn.
    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
     
    public List<string> selectNC(string Cause)
            {
                //Descr = new System.Web.UI.WebControls.Label();
                C_Q_NCONF_SUIVI NConf = new C_Q_NCONF_SUIVI();
                int count = 0;
                StringColumn Description=new StringColumn();
     
                //Connection à la base de donnée
                OracleConnection OraCnx = potez.utils.DBFactory.getDBConnection();
                OracleCommand oCmd = new OracleCommand();
     
                OracleParameter PrmNC = new OracleParameter();
     
                String sqlCommand = NConf.SelectQuery;
     
                oCmd.Parameters.Add(PrmNC);
                oCmd.CommandText = sqlCommand;
                oCmd.Connection = OraCnx;
     
                OracleDataReader rdr = oCmd.ExecuteReader();
     
                List<string> listCause = new List<string>(rdr.VisibleFieldCount);
     
                while (rdr.Read())
                {
                    if (listCause.Count < rdr.VisibleFieldCount)
                    {
                        Description = rdr.GetString(13);
                        listCause.Add(Description);
                        count++;
                       // Descr.Text = listCause[count];
                    }
                    else break;
                }
              /*for(int i=0;i<listCause.Count;i++)
                {
                    Cause.Text = listCause[i];
                } */
                return listCause;
            }
    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
     
    <asp:DataGrid ID="DG_NC"  runat="server"  autogeneratecolumns="false" CellPadding="5" Visible="true" Width="1px" DataSourceID="ObjectDataSourceDG_NC" >
                            <HeaderStyle BackColor="Black" HorizontalAlign="Center" ForeColor="White" BorderColor="Black" />
                                <Columns >            
                                    <asp:TemplateColumn HeaderText="test" >
                                        <ItemTemplate>
                                           <asp:CheckBox ID="test" Visible="true" runat="server"/>
                                        </ItemTemplate>
                                     </asp:TemplateColumn>
                                </Columns>
                                <Columns >
                                     <asp:TemplateColumn HeaderText="Description non-conformite" >
                                        <ItemTemplate>
                                           <asp:Label ID="Cause" Visible="true" runat="server"/>                                       
                                        </ItemTemplate>   
                                     </asp:TemplateColumn>                                
                                </Columns>
                        </asp:DataGrid>  
     
                       <asp:objectdatasource id="ObjectDataSourceDG_NC" runat="server" selectmethod="selectNC" TypeName="_conformite">                          
                             <SelectParameters>
                                <asp:FormParameter Name="Cause" type="string"/>
                              </SelectParameters> 
                       </asp:objectdatasource>

  15. #15
    Membre éclairé
    Inscrit en
    Janvier 2008
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 285
    Par défaut
    j'ai tourvé pour un boundColumn.
    Me faudrait l'info pour un label ou une textBox.
    SVP
    Merci a tous

Discussions similaires

  1. Objet Parameter défini de manière incorrecte.
    Par Débéa dans le forum Bases de données
    Réponses: 5
    Dernier message: 26/04/2013, 15h17
  2. ObjectDataSource : selectMethod générique
    Par Batoche dans le forum ASP.NET
    Réponses: 3
    Dernier message: 29/05/2008, 12h19
  3. Syntaxe PARAMETERS pour requête sous VBA
    Par GAGNON dans le forum VBA Access
    Réponses: 3
    Dernier message: 28/11/2003, 11h39
  4. Treeview : Erreur "Reference to variable or parameter..
    Par Tirlibibi dans le forum XMLRAD
    Réponses: 4
    Dernier message: 06/05/2003, 11h19

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