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 :

[C#] Probleme pour une suppression


Sujet :

ASP.NET

  1. #1
    Membre confirmé
    Inscrit en
    Mai 2004
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 75
    Par défaut [C#] Probleme pour une suppression
    Bonjour,
    Je dispose de 2 tables:TbInfo avec les champs Id_Info,Id_Personnel,Documentation....puis TblPersonnel avec Id_Personnel et Name_Personnel.J ai fait une page pour pouvoir supprimer du personnel.Lorsque je supprime une personne qui n est pas present dans la TblInfo,alors cela marche.Mais losrque je veux supprimer une personne ki se trouve dans cette table,alors j ai le message suivant:
    DELETE statement conflicted with COLUMN REFERENCE constraint 'FK_TblInfo_TblPersonnel'. The conflict occurred in database 'APPLICATION', table 'TblInfo', column 'Id_Personnel'. The statement has been terminated:
    ceci est logique.
    Mais je cheche en fait un moyen de mettre un message d'erreur prevenant l'utilisateur qui ne peux pas suppimer une personne tend kel se trouve dans TblInfo.Voici ma procedure de suppression:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    void OnSupprimerChanged(object sender, System.EventArgs e)
    	{
    //recuperation de la connection
    SqlConnection myConnection=(SqlConnection)Session["myConnection"];
    //recuperation de la nouvelle valeur de ListeType
    VarPersonnelSelect=ListePersonnel.SelectedItem.Value;
     
    //realisation de la requete de suppression			
    string Delete ="DELETE FROM TblPersonnel WHERE Id_Personnel=" +"'"+VarPersonnelSelect+"'";
     
    SqlCommand myCommand = new SqlCommand(Delete,myConnection);
    myCommand.ExecuteNonQuery();
    ChargerPersonnel();
    	}
    Toutes vos idées sont les bienvenues.....Merci d'avance

    [Balises [Code] et [Quote](Citation) ajoutées par freegreg]
    [Pensez-y, vous-même, la prochaine fois. Merci ]

  2. #2
    Membre éprouvé Avatar de chman
    Inscrit en
    Novembre 2002
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 94
    Par défaut
    salut,

    soit tu regardes avant si tu trouves une entrée pour la clé dans TblInfo

    ou tu recupères l'exception dans un bloc try catch et tu affiches le message en cas d'erreur

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2004
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 75
    Par défaut
    Peux tu etre un peu plus precis car je debute

  4. #4
    Membre éprouvé
    Inscrit en
    Février 2003
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 113
    Par défaut
    oui je pense qu'avant de te préoccuper des messages utilisateurs tu devrais

    encader tes requetes (surtout insertion/suppression/update) de bloc try/catch comme suit en gros...

    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
    bool erreur = false;
    string messErreur= "Une erreur est survenue ";
    SqlTransaction myTrans;
     
    // Debut de la  transaction.
    myTrans = maCommande.Connection.BeginTransaction();
     
    maCommande.Transaction = myTrans;
    try{
     
        maCommande.ExecuteNonQuery();
       myTrans.Commit();
     
    }
    catch(Exception e)
    {
      erreur = true;
      messErreur += e.Message;
     myTrans.RollBack();
    }
    finally{
     
     maCommande.Connection.Close();
    }
    puis de pense aux transactions.... c'est pas grand chose à mettre en oeuvre

    J'ai edité 2, 3 truc dans mon code.. rien de bien méchant l'esprit y etait...

  5. #5
    Membre confirmé
    Inscrit en
    Mai 2004
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 75
    Par défaut
    Ok merci....je vais voir ca

  6. #6
    Membre confirmé
    Inscrit en
    Mai 2004
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 75
    Par défaut
    Encore merci pour votre aide....ca marche

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

Discussions similaires

  1. Probleme pour une acquisition USB en Visual C
    Par anton551 dans le forum Visual C++
    Réponses: 6
    Dernier message: 12/02/2007, 09h43
  2. [Newsletter] Probleme pour une newsletter
    Par satan.malin dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 22/11/2006, 17h16
  3. Réponses: 3
    Dernier message: 26/05/2006, 16h07
  4. [FreePascal] Problème pour une simple liste chaînée
    Par piff62 dans le forum Free Pascal
    Réponses: 3
    Dernier message: 26/11/2005, 19h25
  5. Créer une contraintes pour une suppression
    Par subzero82 dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 04/10/2005, 17h36

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