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

Bases de données Delphi Discussion :

PBM : TADOQuery et TRY..EXCEPT ?


Sujet :

Bases de données Delphi

  1. #1
    Membre du Club Avatar de fredfred
    Inscrit en
    Septembre 2002
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 161
    Points : 54
    Points
    54
    Par défaut PBM : TADOQuery et TRY..EXCEPT ?
    Salut à tous,

    J'ai un problème récurrent dans mon prog avec ADO, dans la mesure où il se ferme sans raison apparente et surtout sans message d'erreur.

    Je me suis rendu compte en fait que si une requête contenait une erreur de syntaxe au moment de faire l'open, ça crashait le prog sans passer par le try except.

    L'exemple suivant est plus parlant :

    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
     
     
      with dm.TADOQuery3 do
      begin
        Close;
        SQL.Clear;
        SQL.Add('Select bloque from Client where ID=');   // ID n'a pas de valeur : pââââs bien !
     
     
        SHOWMESSAGE('here');
     
        try
          SHOWMESSAGE('before open');
          Open;
          SHOWMESSAGE('after open');
        except
           on e:exception do MessageDlg('planté',mtwarning, [mbOk], 0);
        end;
     
      end;
    Les messages 'here' et 'before open' s'affichent bien, et ça plante à l'open sans passer par l'except.

    Si je lance le prog via Delphi, le seul message d'erreur que j'obtiens est 'débordement de pile', et rien d'autre.

    Donc maintenant, je sais que si j'ai un débordement de pile, c'est parce qu'une requête est mal formattée, mais encore faut-il savoir laquelle et où !!

    Plutôt bizarre comme comportement, et c'est surout trés pénible pour le débuggage.

    Auriez-vous une solution ???
    Postes Dév : W7 SP1 / Windev 21 / Delphi 7 Entreprise
    Serveur : W2k12 SP1 + SQL 2014 RC2
    Connexion : OLE.DB

  2. #2
    Membre du Club Avatar de fredfred
    Inscrit en
    Septembre 2002
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 161
    Points : 54
    Points
    54
    Par défaut
    En fait, ça le fait aussi avec les TADOTable.

    Si un POST plante, ça me sort 'débordement de pile', et pas de passage dans l'except.

    Ca devient vraiment chi*nt...
    Commence à me gaver, l'ADO...
    Postes Dév : W7 SP1 / Windev 21 / Delphi 7 Entreprise
    Serveur : W2k12 SP1 + SQL 2014 RC2
    Connexion : OLE.DB

  3. #3
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Système d'exploitation ?
    Version des MDAC ?
    Version du jet engine ?
    Version de delphi ?
    Base de données utilisées ?
    Connexion ? (Jet engine, ODBC, autres... )
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  4. #4
    Membre du Club Avatar de fredfred
    Inscrit en
    Septembre 2002
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 161
    Points : 54
    Points
    54
    Par défaut
    Système d'exploitation ? Dév : XP SP2, Serveur : W2k3 SP1
    Version des MDAC ? 2.8 SP1
    Version de delphi ? D7 Entreprise
    Base de données utilisées ? SQL 2000 SP4
    Connexion ? (Jet engine, ODBC, autres... ) ODBC
    Postes Dév : W7 SP1 / Windev 21 / Delphi 7 Entreprise
    Serveur : W2k12 SP1 + SQL 2014 RC2
    Connexion : OLE.DB

  5. #5
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Tu n'as pas fait les mises a jours pour delphi 7 ? Car je crois que ca corrige des problèmes avec ADO justement.
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  6. #6
    Membre du Club Avatar de fredfred
    Inscrit en
    Septembre 2002
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 161
    Points : 54
    Points
    54
    Par défaut
    J'avais installé l'update 1 (d7_fr_ent_upd1.exe) à l'époque où il était sorti, et ça m'avait foutu tellement le souk avec les Size Mismatch Exceptions que je l'ai viré, et suis resté en version de base depuis.
    Postes Dév : W7 SP1 / Windev 21 / Delphi 7 Entreprise
    Serveur : W2k12 SP1 + SQL 2014 RC2
    Connexion : OLE.DB

Discussions similaires

  1. try except qu'on m'explique
    Par pierrot67 dans le forum Bases de données
    Réponses: 2
    Dernier message: 12/04/2006, 10h52
  2. Problème avec Try ... Except
    Par Kcintim dans le forum Langage
    Réponses: 1
    Dernier message: 25/03/2006, 15h31
  3. "try...except" sans message d'erreur
    Par SchpatziBreizh dans le forum Langage
    Réponses: 4
    Dernier message: 12/07/2005, 09h50
  4. [try except keyerror] récupérer le nom de la variable
    Par jean-jacques varvenne dans le forum Général Python
    Réponses: 2
    Dernier message: 03/03/2005, 16h59
  5. bloc try/except et API windows
    Par jakouz dans le forum API, COM et SDKs
    Réponses: 5
    Dernier message: 24/02/2005, 12h21

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