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

Lazarus Pascal Discussion :

TSQLQuery, MySQL et code d'erreur [Lazarus]


Sujet :

Lazarus Pascal

  1. #1
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2015
    Messages
    252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2015
    Messages : 252
    Points : 272
    Points
    272
    Par défaut TSQLQuery, MySQL et code d'erreur
    Bonjour,

    savez-vous comment on extrait le code d'erreur dans une exception E : EDatabaseError avec une base MySQL (enfin MariaDB).
    E.ClassName et E.Message ne me livrent rien :
    Nom : dberror.png
Affichages : 173
Taille : 3,5 Ko

    Ici : "Error: 1205 SQLSTATE: HY000" [cf Liste des codes d'erreurs]. J'aimerais bien récupérer le 1205, et ainsi facilement différencier un enregistrement verrouillé par un FOR UPDATE tiers, d'un autre problème...
    Merci. Cordialement. AD

  2. #2
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 854
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 854
    Points : 11 287
    Points
    11 287
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Y aurait-il des pistes du côté de SHOW ERRORS ou GET DIAGNOSTICS ?
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  3. #3
    Membre éprouvé
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    469
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 469
    Points : 1 100
    Points
    1 100
    Par défaut
    Bonjour

    Est-ce que le code ci-dessous répond à la question ?

    Il est syntaxiquement correct et adapté de ce qu'on peut faire avec ZeosLib, en remplaçant EZSQLException (le type exception utilisé par le paquet ZeosLib) par ESQLDatabaseError (qui est utilisé par SqlDb).
    Cependant je ne l'ai pas testé.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Try
    ...
    Except
        on e: ESQLDatabaseError do
          if e.ErrorCode = 1205 then
              showmessage ('lock !');
    end;
    Cordialement,
    Tintinux

    Initiateur de Gestinux, une comptabilité gestion open-source, pour Linux, Windows et Mac OS.
    Une version stable et une autre en développement, avec Lazarus : vous pouvez aider à la tester, la traduire et à la développer.

  4. #4
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2015
    Messages
    252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2015
    Messages : 252
    Points : 272
    Points
    272
    Par défaut
    Bonjour,

    avec Zeos il existe une propriété ErrorCode. Avec les connecteurs de Lazarus, il existe bien une varaible Mysql_errno mais elle ne semble pas être exprimée sous la forme d'une propriété.

    Cordialement. AD

  5. #5
    Membre éprouvé
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    469
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 469
    Points : 1 100
    Points
    1 100
    Par défaut
    Bonjour

    Avec les connecteurs de Lazarus, il existe bien une varaible Mysql_errno mais elle ne semble pas être exprimée sous la forme d'une propriété.
    Je ne comprends pas pourquoi tu cherches une propriété Mysql_errno

    Je disais qu'il faut utiliser ErrorCode et c'est certainement une propriété de ESqlDatabaseError, puisque mon code se compile bien.

    Veux-tu dire qu'il n'y a pas la bonne valeur dans cette propriété après l'exécution d'une requête ?
    Cordialement,
    Tintinux

    Initiateur de Gestinux, une comptabilité gestion open-source, pour Linux, Windows et Mac OS.
    Une version stable et une autre en développement, avec Lazarus : vous pouvez aider à la tester, la traduire et à la développer.

  6. #6
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2015
    Messages
    252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2015
    Messages : 252
    Points : 272
    Points
    272
    Par défaut
    Bonjour,

    Désolé Tintinux,
    je pensais que ESQLDAtaBAseError était lié à Zeos uniquement. Il faut dire que je n'utilise pas les connecteurs natifs habituellement, ni Zeos d'ailleurs.

    Merci. C'est OK maintenant.
    Cordialement AD.

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

Discussions similaires

  1. <: internal error code, arguments: !!!
    Par sb1960 dans le forum Oracle
    Réponses: 3
    Dernier message: 12/04/2006, 17h03
  2. [MySQL] Sélection selon code/historique
    Par isa21493 dans le forum Langage SQL
    Réponses: 5
    Dernier message: 01/03/2006, 16h46
  3. [MySQL]DBX error : invalid translation
    Par billoum dans le forum C++Builder
    Réponses: 7
    Dernier message: 27/01/2006, 20h55
  4. Mysql DB Error: après installation de extcal
    Par lemonsoda dans le forum Installation
    Réponses: 1
    Dernier message: 10/01/2006, 16h05
  5. [NASM] Critical error (code 5)
    Par fabnet dans le forum Assembleur
    Réponses: 11
    Dernier message: 25/03/2005, 19h51

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