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 :

Gestion des erreurs standards (utilisation des formview et sqldatasource)


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : Cameroun

    Informations forums :
    Inscription : Mars 2006
    Messages : 148
    Par défaut Gestion des erreurs standards (utilisation des formview et sqldatasource)
    Bonjour à tous.
    Mon problème est le suivant : j’aimerais savoir comment gérer les erreurs survenues pendant les opérations de mise à jour de la BD lorsqu’on utilise des contrôle standard tel que le formview et le SQLdatasource. Comme cas précis si l’utilisateur fait une saisie qui viole la contrainte de clé primaire sur une table, j’aimerais récupérer cette erreur et l’afficher à l’utilisateur sans afficher la page d’erreur de .net.

    Je rappel que pour le cas d’espèce j’utilise un formview donc j’ignore ou je peux mettre une instruction TRY.

    Merci de me consacrer un peu de votre précieux temps.

  2. #2
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Ben en fait, je fais pas comme ça.
    Je fais en sorte que ce genre d'erreur n'arrive pas.

    Donc, je mets des Validator pour contrôler le contenu des champs de saisies, je gère les caractères spéciaux (gerne les ') et je vérouille au maximum.

    Ensuite les histoires de clé primaires pures et dures, ben je design ma base pour que l'utilisateur n'ait jamais besoins de la définir, je laisse ce soin à SQL Server.

    Mais je suis sûr que tu as un cas particulier où c'est obligatoirement l'utilisateur qui va le faire.
    La gestion des pages d'erreur c'est un poil la merdasse. Le début se trouve dans le Web.Config, là ou tu gère le CustomErrors
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <system.web>
    	<customErrors mode="Off"/>
    Si tu le passe à "Remote Only" tu va gérer toi même toutes les erreurs du site. Mais désolé, j'en sais pas plus, j'ai jamais fait.

    Sinon, tu peux aussi voir du côté de System.ApplicationException, y a certainement des trucs interressants.

    Désolé de pas pouvoir en faire plus.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : Cameroun

    Informations forums :
    Inscription : Mars 2006
    Messages : 148
    Par défaut
    Je reviens encore sur mon problème. Pour la gestion des erreurs générées pendant l'insertion d'un nouvel enregistrment j'ai ajouter le code suivant mais l'erreur n'est toujours pas interceptée.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Protected Sub FormView1_ItemInserted(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.FormViewInsertedEventArgs) Handles FormView1.ItemInserted
            If Not (e.Exception Is Nothing) Then
                lbl_error.Visible = True
                lbl_error.Text = "Message d'erreur: " + e.Exception.Message
            End If
     
    End Sub
    J'ai egalement essayé le bout de code suivant toujours sans succes.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Protected Sub FormView1_ItemInserted(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.FormViewInsertedEventArgs) Handles FormView1.ItemInserted
     
            If e.ExceptionHandled Then
                lbl_error.Text = "Erreur lors de l'insertion: " + e.Exception.GetBaseException.Message
                lbl_error.Visible = True
            End If
     
    End Sub
    J'ai un label sur ma page nommé lbl_error j'aimerais qu'au lieu d'obtenir la page d'erreur que le message d'erreur s'affiche dans le label. Je ne comprends pas pourquoi le code quivant ne s'execute pas comme il devrait.

    Merci de vous pencher sur mon PB.

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 11/05/2014, 15h19
  2. Réponses: 6
    Dernier message: 05/05/2010, 15h21
  3. Script avec gestion d'erreur pour loader des data depuis un csv
    Par olive_le_malin dans le forum Requêtes
    Réponses: 9
    Dernier message: 10/04/2009, 18h04
  4. Erreurs à l'utilisation des sessions
    Par kev484 dans le forum Langage
    Réponses: 8
    Dernier message: 02/01/2009, 17h18

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