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

Accès aux données Discussion :

[C#] Comment gérer les erreurs SQL ?


Sujet :

Accès aux données

  1. #1
    Membre habitué

    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 175
    Points : 166
    Points
    166
    Par défaut [C#] Comment gérer les erreurs SQL ?
    Bonjour,

    j'ai crée une méthode permettant d'exécuter un ordre SQL. Comment puis-je tester le retour de cette méthode pour afficher un message si une erreur se prodruit ?
    Voici 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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
            protected void verifAuthentification(object sender, EventArgs e)
            {
                string login = txtLogin.Text;
                string passwd = txtPasswd.Text;
                bool resultat;
     
                // Vérification du login et du mot de passe
     
                resultat = outils.OpenDbConnection();
                if (resultat == true)
                {
     
                    string query = "";
                    query += "SELECTa nom,prenom";
                    query += "  FROM upmc_ldap";
                    query += " WHERE login='" + login + "'";
                    query += "   AND passwd='" + passwd + "'";
     
                    OracleDataReader result = outils.SQL_selectQuery(query);
     
    // J'aimerai pouvoir tester result avant de faire le result.Read()
     
     
                    if (result.Read())
                    {
                        string nom = outils.mefString(result.GetString(0));
                        string prenom = outils.mefString(result.GetString(1));
     
                        Session["authentification"] = "ok";
                        Session["login"] = login;
                        Session["nom"] = nom;
                        Session["prenom"] = prenom;
     
                        Response.Redirect("gestionProfil.aspx");
                    }
                    else
                    {
                        gestionErreur("02");
                    }
     
                    resultat = outils.CloseDbConnection();
                    if (resultat == false) { gestionErreur("03"); }
                }
                else
                {
                    gestionErreur("01"); 
                }
            }
     
            public void gestionErreur(string typeErreur)
            {
                string msgErreur = "<br />Authentification échouée.<br />";
     
                Session["authentification"] = "ko";
     
                switch (typeErreur)
                {
                    case "01": msgErreur += "Erreur [ERR-LOG01xx] : Problème
     rencontré lors de la connexion à la base de données.";
                                   break;
                    case "02": msgErreur += "Erreur [ERR-LOG02xx] : Problème
     rencontré lors de l'interrogation de la base de données.";
                                   break;
                    case "03": msgErreur += "Erreur [ERR-LOG03xx] : Problème
     rencontré lors de la clôture de la connexion à la base de données.";
                                  break;
                }
                divErreur.Visible = true;
                labErreur.Text = msgErreur;
            }
     
        public static OracleDataReader SQL_selectQuery(string query)
        {
            OracleCommand Mycommand = new OracleCommand();
            OracleDataReader result;
            try
            {
                Mycommand.Connection = outils.connectionDB;
                Mycommand.CommandText = query;
                result = Mycommand.ExecuteReader();
            }
           catch(Exception)
           {
                return null;
           }
           return result;
        }
     
        public static bool OpenDbConnection()
        {
            bool retVal = true;
     
            try { connectionDB.Open(); }
            catch { retVal = false; }
            return retVal;
        }
     
        public static bool CloseDbConnection()
        {
            bool retVal = true;
     
            try { connectionDB.Close(); }
            catch { retVal = false; }
     
            return retVal;
        }
    Merci et bonne journée.

  2. #2
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Comment avez-vous résolu votre souci ?
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

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

Discussions similaires

  1. [ZF 1.10] Comment obtenir en sortie, les erreurs PHP plutôt qu'une page blanche
    Par arsene555 dans le forum Zend Framework
    Réponses: 12
    Dernier message: 03/11/2010, 17h45
  2. [MySQL] Récuperer les erreurs SQL en PHP
    Par Nico87 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 08/07/2009, 13h00
  3. Réponses: 3
    Dernier message: 21/06/2007, 12h53
  4. [Vba-E] Comment gère-t-on les erreurs?
    Par gootsu dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 07/07/2006, 11h49
  5. Comment gère-t-on les erreurs en C ?
    Par Le Furet dans le forum C
    Réponses: 7
    Dernier message: 24/12/2005, 19h38

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