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 :

Problème d'exécution d'un TFDQuery.


Sujet :

Bases de données Delphi

  1. #21
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 021
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 021
    Points : 40 932
    Points
    40 932
    Billets dans le blog
    62
    Par défaut
    Les codes que j'ai proposés sont tous ok sur mon poste
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  2. #22
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 021
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 021
    Points : 40 932
    Points
    40 932
    Billets dans le blog
    62
    Par défaut
    Citation Envoyé par DOliv Voir le message
    Je vais déjà essayer de le redévelopper en DBExpress
    AMHA cela ne fera pas mieux
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  3. #23
    Membre du Club
    Homme Profil pro
    Développeur Delphi
    Inscrit en
    Avril 2023
    Messages
    212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Delphi

    Informations forums :
    Inscription : Avril 2023
    Messages : 212
    Points : 68
    Points
    68
    Par défaut
    Ça m'aidera peut-être à découvrir d'où vient le problème.
    Parce que c'est quand même un peu fort de café que la requête fonctionne parfaitement ligne par ligne : donc pas de problème de connexion à la base.

  4. #24
    Membre confirmé Avatar de TryExceptEnd
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    501
    Détails du profil
    Informations personnelles :
    Sexe : Homme

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 501
    Points : 574
    Points
    574
    Par défaut
    Citation Envoyé par DOliv Voir le message
    Ça m'aidera peut-être à découvrir d'où vient le problème.
    Parce que c'est quand même un peu fort de café que la requête fonctionne parfaitement ligne par ligne : donc pas de problème de connexion à la base.
    Ce qui est vraiment fort de café c'est de ne pas donner le code d'erreur soulevé malgré les demandes pressantes de plusieurs intervenants...
    Si vous êtes libre, choisissez le Logiciel Libre.

  5. #25
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 656
    Points : 5 213
    Points
    5 213
    Par défaut
    Citation Envoyé par DOliv Voir le message
    Pas d'accord. Il suffit de travailler avec des outils qui fonctionnent bien. Ce qui est le cas de certains composants orientés données, mais pas tous, manifestement.
    L'outil que tu critiques ouvertement est utilisé sans aucun problème par des milliers de développeurs.
    Il serait peut-être temps de te remettre en question au lieu d'accuser l'outil.

  6. #26
    Membre du Club
    Homme Profil pro
    Développeur Delphi
    Inscrit en
    Avril 2023
    Messages
    212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Delphi

    Informations forums :
    Inscription : Avril 2023
    Messages : 212
    Points : 68
    Points
    68
    Par défaut
    En règle général, quand on commence à se poser des questions existentielles, c'est qu'on est arrivé au bout du sujet
    Je vais bien arriver à trouver d'où vient le problème.
    Merci à tout le monde, même à ceux qui interviennent juste pour dire que les composants Firedac fonctionnent parfaitement c'est déjà pas mal.

  7. #27
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 410
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 410
    Points : 5 801
    Points
    5 801
    Par défaut
    salut

    essai de faire un truc comme ceci histoire de voir
    ou peux se nicher cette satané erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    try
      Qry.SQL.clear;  
      St := 'EXECUTE BLOCK AS BEGIN ' 
      +' INSERT INTO nomtable (NUM, NOM, CODE, PRIX, UNITE)  VALUES (''1'',''nom'',''code'',0.04,''EUR'') '
      +' INSERT INTO nomtable (NUM, NOM, CODE, PRIX, UNITE)  VALUES (''2'',''nom2'',''code2'',0.05,''EUR'') '
      +' END;';
      Qry.SQL.Add(St);
     
      Qry.ExecSQL;
     
      except
        on E: Exception do
          raise Exception.CreateFmt( 'Error Query : %s', [ E.Message]);
      End;
    Nous souhaitons la vérité et nous trouvons qu'incertitude. [...]
    Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
    Blaise Pascal
    PS : n'oubliez pas le tag

  8. #28
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 021
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 021
    Points : 40 932
    Points
    40 932
    Billets dans le blog
    62
    Par défaut
    @Anapurna ta syntaxe SQL est incorrecte

    Voir mon post #13 et le #19 pour la correction de la syntaxe
    il faut un ; après chaque opération INSERT (donc dans tes instruction lignes 4 et 5) et pas besoin du ; pour le END de la ligne 6
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  9. #29
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 410
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 410
    Points : 5 801
    Points
    5 801
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    @Anapurna ta syntaxe SQL est incorrecte

    Voir mon post #13 et le #19 pour la correction de la syntaxe
    il faut un ; après chaque opération INSERT (donc dans tes instruction lignes 4 et 5) et pas besoin du ; pour le END de la ligne 6
    salut
    j'ai repris tel quel le code sql ne connaissant pas sa bdd quise trouve derriere ... je me suis attaché a lui donnée une methode de dev afin
    qu'il puisse retrouver rapidement l'erreur

    pour ma part je n'utilise que les doubles quotes pour les chaine de caractere plutot que des paires de simple quote mais encore faut t'il que cela soit accepté par le moteur de bdd
    Nous souhaitons la vérité et nous trouvons qu'incertitude. [...]
    Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
    Blaise Pascal
    PS : n'oubliez pas le tag

  10. #30
    Membre du Club
    Homme Profil pro
    Développeur Delphi
    Inscrit en
    Avril 2023
    Messages
    212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Delphi

    Informations forums :
    Inscription : Avril 2023
    Messages : 212
    Points : 68
    Points
    68
    Par défaut
    Merci Anapurna,
    J'ai déjà essayé ça et je continue.
    Même avec les ";" comme l'a corrigé Sergio, ça ne marche pas.
    C'est pour ça que j'ai un peu de mal à croire que c'est ma construction de requête qui pose problème. Puisque, quand je saisie ce petit bloc en dur dans mon code, ça ne marche pas
    Mais je continue. Il y a sûrement plusieurs problèmes superposés.
    Et évidemment, quand j'aurai trouvé, j'aurai trop honte pour vous le dire Donc, si je ne donne pas de nouvelle, c'est que j'ai trouvé le problème...

  11. #31
    Membre du Club
    Homme Profil pro
    Développeur Delphi
    Inscrit en
    Avril 2023
    Messages
    212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Delphi

    Informations forums :
    Inscription : Avril 2023
    Messages : 212
    Points : 68
    Points
    68
    Par défaut
    Non, définitivement non.
    Je récupère la requête "EXECUTE BLOCK" transmise au FDQuery qui n'INSERT aucun des 37 enreg qu'elle contient dans la base.
    Je l'encadre de SET TERM !; et de !, et la lance dans Flamerobin, elle m'INSERT les 37 enreg sans problème.

    D'où : il y a bien quelque chose de pas clair dans le fonctionnement du FDQuery, ou un secret d'expert à connaître.

  12. #32
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 410
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 410
    Points : 5 801
    Points
    5 801
    Par défaut
    salut

    le message d'erreur c'est quoi ?

    si il n'y a pas de message d'erreur
    il faut peut etre regarder dans les proprietes des composants

    le FDQuery est bien attaché a une base de donnée
    il y a quoi dans dans le dataBaseName
    ta base est bien ouverte ?
    .... il y a beaucoup de questions qui semble resté sans reponse
    j'utilise les query depuis plus de 20 ans je n'ai jamais eu ce genre de probleme ...
    Nous souhaitons la vérité et nous trouvons qu'incertitude. [...]
    Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
    Blaise Pascal
    PS : n'oubliez pas le tag

  13. #33
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 021
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 021
    Points : 40 932
    Points
    40 932
    Billets dans le blog
    62
    Par défaut
    Cela fonctionne, AMHA c'est parce que la transaction est mal gérée que rien ne se passe correctement.

    Chacun de mes codes #10 et #13 a été testé. Les seuls doutes en ce qui me concerne, c'est la version de Firebird et de Delphi utilisé.

    lance dans Flamerobin, elle m'INSERT les 37 enreg sans problème.
    une session Flamerobin commence par un StartTransaction les enregistrements n'étant validé que par le commit

    PS. utiliser ArrayDML avec un TFDQuery se charge de tout ça (démarrer la transaction, créer le block, "écrire les divers Insert", faire le commit) mais bon tant que vous ne voulez pas changer votre façon d'aborder le problème

    De plus j'aimerais bien comprendre davantage le contexte, car une copie d'une table vers une autre pourrait certainement aussi se faire par un TFDBatchMove
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

Discussions similaires

  1. Problème d'exécution : 'rtl60.bpl introuvable'
    Par zeddy23 dans le forum EDI
    Réponses: 3
    Dernier message: 27/07/2005, 21h44
  2. Réponses: 5
    Dernier message: 19/04/2005, 09h50
  3. [Tomcat][EasyStruts] Problème d'exécution
    Par mmed dans le forum Eclipse Java
    Réponses: 6
    Dernier message: 29/12/2004, 12h55
  4. Problème à l'exécution avec wxWindows (compilé avec BCC55)
    Par ShootDX dans le forum Autres éditeurs
    Réponses: 5
    Dernier message: 14/11/2003, 19h04

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