none
probleme de suppresion et modification des données RRS feed

  • Question


  • Bonjour,

    Je suis aller au bout des ateliers et tout a tjrs fonctionner, c'etais fort interressant merci bcp.
    Voilà que je veux faire mon propre site et je m'inspire de l'atelier 4 pour l'acces aux données dont j'ai recharger la solution.
    mais là chose etrange : la suppression et la modification da la page "DetailsAnnonce.aspx" ne fonctionnent plus !
    de plus dans la balise active du gridview1 de la page "ConsulterAnnoncesJournaux.aspx" les options "activer la suppression" et "activer la modification" ne sont plus disponibles alors qu'ils sont bien montrés dans l'image en haut de la page 26 des consignes de l'atelier 4.
    Qu'en est il ? un probleme avec SQL server ou une mauvaise manip ?

    NB: j'utilise visual web developper depuis visual studio 2005
    • Déplacé Tagore Bandlamudi mercredi 7 juillet 2010 06:53 Forums Consolidation (Origine :Forum du coach ASP.NET)
    mercredi 8 août 2007 19:32

Réponses

  • Bonjour,

     

    Le souci vient du fait qu'au cours de la migration du site MSDN, les solutions des ateliers qui ont été remises en ligne sont celles effectuées sur la beta 2.

    Rien de bien grave, car il n'y a que quelques changements mineurs sur l'ensemble des ateliers ...

     

    L'un d'eux concerne l'objet SqlDataSource que vous utilisez à l'atelier 4. Par exemple, pour la page DetailsAnnonce.aspx, le problème que vous observez vient du fait que l'objet SqlDataSource nomme les valeurs initiales des données avec le format {0} alors que la notation était du type original_{0} dans la version beta 2 de Visual Studio.

    Jetez un oeil sur la requête update ou delete, vous y trouverez en effet la valeur de l'id préfixé de original_ :

     

    <aspTongue TiedqlDataSource ID="dsAnnonce" runat="server" ConnectionString="<%$ ConnectionStrings:csAffairesSansRisque %>"
            DeleteCommand="DELETE FROM [Annonces] WHERE [Ann_Id] = @original_Ann_Id"
            SelectCommand="..."
            UpdateCommand="UPDATE [Annonces] SET [Ann_Texte] = @Ann_Texte, ... WHERE [Ann_Id] = @original_Ann_Id">
       

    Vous avez donc deux solutions. Soit vous changez le format des paramètres dans les requêtes, soit vous retouchez la propriété OldValuesParameterFormatString de l'objet SqlDataSource pour qu'elle reflète l'ancien format c'est-à-dire "original_{0}". Vous constaterez que la mise à jour refonctionnera aussitôt.

     

    <aspTongue TiedqlDataSource ID="dsAnnonce" runat="server" OldValuesParameterFormatString="original_{0}" ... >
           

    Concernant la page ConsulterAnnoncesJournaux.aspx, le problème est différent. Les options que vous mentionnez ne peuvent apparaître que si les requêtes correspondantes existent dans le contrôle de source de données associé au GridView.

    Par exemple, si vous n'avez configuré aucune requête Delete, l'option "activer la suppression" n'est pas proprosée par la balise active puisque la source du GridView n'a rien prévu pour la suppression.

    Donc la solution est d'ajouter les requêtes appropriées au contrôle SqlDataSource et la balise active de votre contrôle GridView s'agrémentera toute seule des nouvelles options !

     

    Bonne continuation,

    jeudi 9 août 2007 07:13

Toutes les réponses

  • Bonjour,

     

    Le souci vient du fait qu'au cours de la migration du site MSDN, les solutions des ateliers qui ont été remises en ligne sont celles effectuées sur la beta 2.

    Rien de bien grave, car il n'y a que quelques changements mineurs sur l'ensemble des ateliers ...

     

    L'un d'eux concerne l'objet SqlDataSource que vous utilisez à l'atelier 4. Par exemple, pour la page DetailsAnnonce.aspx, le problème que vous observez vient du fait que l'objet SqlDataSource nomme les valeurs initiales des données avec le format {0} alors que la notation était du type original_{0} dans la version beta 2 de Visual Studio.

    Jetez un oeil sur la requête update ou delete, vous y trouverez en effet la valeur de l'id préfixé de original_ :

     

    <aspTongue TiedqlDataSource ID="dsAnnonce" runat="server" ConnectionString="<%$ ConnectionStrings:csAffairesSansRisque %>"
            DeleteCommand="DELETE FROM [Annonces] WHERE [Ann_Id] = @original_Ann_Id"
            SelectCommand="..."
            UpdateCommand="UPDATE [Annonces] SET [Ann_Texte] = @Ann_Texte, ... WHERE [Ann_Id] = @original_Ann_Id">
       

    Vous avez donc deux solutions. Soit vous changez le format des paramètres dans les requêtes, soit vous retouchez la propriété OldValuesParameterFormatString de l'objet SqlDataSource pour qu'elle reflète l'ancien format c'est-à-dire "original_{0}". Vous constaterez que la mise à jour refonctionnera aussitôt.

     

    <aspTongue TiedqlDataSource ID="dsAnnonce" runat="server" OldValuesParameterFormatString="original_{0}" ... >
           

    Concernant la page ConsulterAnnoncesJournaux.aspx, le problème est différent. Les options que vous mentionnez ne peuvent apparaître que si les requêtes correspondantes existent dans le contrôle de source de données associé au GridView.

    Par exemple, si vous n'avez configuré aucune requête Delete, l'option "activer la suppression" n'est pas proprosée par la balise active puisque la source du GridView n'a rien prévu pour la suppression.

    Donc la solution est d'ajouter les requêtes appropriées au contrôle SqlDataSource et la balise active de votre contrôle GridView s'agrémentera toute seule des nouvelles options !

     

    Bonne continuation,

    jeudi 9 août 2007 07:13
  • merci !!! réponse trés précise et trés rapide

    ah oui là c'est sur, on se sent coaché 
    jeudi 9 août 2007 08:19