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 :

Erreur : [FireDac][Phys][SQLite]-310 Impossible d'exécuter les ensembles


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Phyto-aromathérapeute
    Inscrit en
    Juillet 2012
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Phyto-aromathérapeute
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2012
    Messages : 83
    Par défaut Erreur : [FireDac][Phys][SQLite]-310 Impossible d'exécuter les ensembles
    Bonjour,
    Environnement : RadStudio 10.3.3, windows 10.

    Afin de diriger le résultat vers un dBGrid, je tente d'exécuter cette requête :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT DISTINCT D.Organe, D.CT, D.Vertus, D.VVT, D.REM, D.EFF, D.Compl, D2.Nom
    FROM HEVertus D
    LEFT JOIN Produits D2 ON D2.NUMM=D.NUMM
    ORDER BY D.Vertus, D2.Nom

    via l'appel suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     DataModule2.FDQHEVERTUS.First;
      DataModule2.FDQHEVERTUS.Close;
      DataModule2.FDQHEVERTUS.ExecSQL;
      DataModule2.FDQHEVertus.Open;
    et je reçois le message d'erreur :
    [FireDac][Phys][SQLite]-310 Impossible d'exécuter les ensembles de résultats renvoyés par la commande. Conseil : utilisez la commande OPEN pour les commandes de type SELECT.

    J'ai testé avec OPEN et OpenOrExecute, même résultat. Dans l'éditeur de requête, j'obtiens bien le résultat attendu.

    Suggestions bienvenues.

    Bien cordialement,

  2. #2
    Membre Expert
    Avatar de pprem
    Homme Profil pro
    MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Inscrit en
    Juin 2013
    Messages
    1 876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 876
    Par défaut
    Bonsoir
    L'erreur se produit sur quelle ligne de code ?
    Pourquoi faire un First avant ton Close ?

  3. #3
    Membre confirmé
    Homme Profil pro
    Phyto-aromathérapeute
    Inscrit en
    Juillet 2012
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Phyto-aromathérapeute
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2012
    Messages : 83
    Par défaut Erreur : [FireDac][Phys][SQLite]-310 Impossible d'exécuter les ensembles
    Bonjour,
    Je fais un First pour être certain de traiter toute la table, vieille habitude de Paradox/BDE.

    L'erreur se produit sur la ligne ExecSql.

  4. #4
    Expert éminent
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Par défaut
    DataModule2.FDQHEVERTUS.First;
    DataModule2.FDQHEVERTUS.Close;
    DataModule2.FDQHEVERTUS.ExecSQL;
    DataModule2.FDQHEVertus.Open;
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  5. #5
    Membre confirmé
    Homme Profil pro
    Phyto-aromathérapeute
    Inscrit en
    Juillet 2012
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Phyto-aromathérapeute
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2012
    Messages : 83
    Par défaut Erreur : [FireDac][Phys][SQLite]-310 Impossible d'exécuter les ensembles
    ca fonctionne, merci.

  6. #6
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 706
    Billets dans le blog
    65
    Par défaut
    Bonjour,

    étant donné que je suis un couche-tôt j'interviens mais un peu tard.

    J'aurais pu suggéré un OpenOrExecute de sorte à couper la poire en deux en
    enlevant tout le reste mais il me semble que l'explication ne serait pas suffisante.
    J'ai testé avec OpenOrExecute, même résultat.
    Je suis étonné que cela n'ai pas fonctionné

    en régle générale : pour tout SQL renvoyant un ensemble de données c'est à dire un SELECT (même une ligne seule) on utilisera Open, pour les autres (INSERT,DELETE,UPDATE) on utilisera ExecSQL.
    Mais, car bien sûr il y a un mais, certains SGBD permettent de retourner des données (RETURNING, RETURNING .... INTO) en ce cas se référer au 1

    la séquence d'instruction, pour le SQL que je reconnais, devrait être AMHA
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
      DataModule2.FDQHEVERTUS.Close; // inutile si SQLite
      DataModule2.FDQHEVertus.Open;
    en effet la table est peut être déjà ouverte avec un autre programme/utilisateur et c'est le "cliché" de la table qu'il faut pouvoir changer.
    Cependant, comme je sais qu'il s'agit de SQLite, il n'y a aucune chance que cela arrive

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 05/02/2020, 19h20
  2. impossible d'exécuter les applis avec webstart
    Par gerard66 dans le forum Général Java
    Réponses: 5
    Dernier message: 02/02/2016, 00h44
  3. Réponses: 1
    Dernier message: 12/05/2015, 15h30
  4. Réponses: 1
    Dernier message: 19/02/2010, 15h25
  5. Impossible d'exécuter les applications sous eclipse
    Par rouky dans le forum W4 Express
    Réponses: 1
    Dernier message: 24/09/2009, 12h46

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