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 :

Utilisation du SQL avec ZEOS


Sujet :

Lazarus Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Inactif  
    Profil pro
    Inscrit en
    Février 2003
    Messages
    4 341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 4 341
    Par défaut Utilisation du SQL avec ZEOS
    Bonjour,

    Dans ce post, SergioMaster donne cet exemple pour utiliser un TZSQLUpdate
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    //DeleteSQL
    DELETE FROM USAGER
    WHERE  CODE_POSTAL=:OLD_CODE_POSTAL 
    //ModifySQL
    UPDATE USAGER SET 
    CODE_POSTAL=:CODE_POSTAL,
    VILLE=:VILLE
    WHERE CODE_POSTAL=:OLD_CODE_POSTAL
    //InsertSQL
    INSERT INTO USAGER (CODE_POSTAL,VILLE)
    VALUES (:CODE_POSTAL,:VILLE)
    J'aimerais savoir à quoi correspond les «:CODE_POSTAL» par exemple !
    Comment faire le lien avec ma dbGrid ou mon dbChamp ?

  2. #2
    Membre averti
    Profil pro
    Développeur
    Inscrit en
    Mai 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Mai 2008
    Messages : 32
    Par défaut Usage des paramètres
    :CODE_POSTAL

    ':' dans une requête précise qu'il s'agit d'un paramètre

    pour alimenter les paramètres il faut utiliser quelque chose comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dataset.parambyname('code_postal').asString:='56000';
    A+

  3. #3
    Inactif  
    Profil pro
    Inscrit en
    Février 2003
    Messages
    4 341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 4 341
    Par défaut
    Merci de ta réponse, maintenant, ma question est comment faire pour auto alimenter les requêtes par un dbgrid ?

  4. #4
    Membre averti
    Profil pro
    Développeur
    Inscrit en
    Mai 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Mai 2008
    Messages : 32
    Par défaut Alimenter depuis une dbgrid
    la dbgrid est directement attachée à un dataset
    le passage en mode Edit/Insert et le Post sont donc automatique
    pourquoi utiliser un SqlUpdate dans ce cas?

    Je ne comprend pas ce que tu veux faire.
    Peut être fonctionnes-tu en transactionnel (Start transaction)

    Si tu veux piloter intégralement tes insert et update utilise plutot StringGrid
    à chaque validation tu alimentes tes paramètres et tu exécutes ta requête

    Je ne suis pas sûr que tu vois plus clair maintenant

    A+

  5. #5
    Inactif  
    Profil pro
    Inscrit en
    Février 2003
    Messages
    4 341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 4 341
    Par défaut
    Non, je n'y vois pas plus clair ...

    En fait, je me base sur l'exemple du post fourni en lien sur le sujet initial.

    Et, d'après ce que j'ai cru comprendre, la personne plaçait un TZUpdateSQL, TDataSource et un dbGrid.

    En renseignant comme indiqué les chaines SQL, aucun code ne semblait utile.
    Donc, mais je ne comprends pas comment on envoie les valeurs dans la requête. Comment le TZUpDateSQL fait le lien entre les données de la colonne et les variables de la requête !

  6. #6
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 577
    Billets dans le blog
    65
    Par défaut
    je suis en déplacement pour l'instant , si cela peut attendre , je referais un tour sur le forum vendredi pour donner tout les détails nécessaires

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Désolé je n'avais pas lu le post... et je vous conseillais avant de le lire de consulter justement une discussion que j'avais eu avec SergioMaster.

    Je n'ai jamais réussi à faire fonctionner un ZupDateSQL sans dbNavigator... Mais on peut très bien s'en passer* (du dbNavigator et du zUpdateSQL) en ajoutant un ZQuery pour mettre à jour la base, l'autre étant réservé à l'affichage de la dbGrid.

    Avec le dbNavigator, cela a "passé" si l'on peut dire. J'étais sous mySQL avec des bases distantes hébergées. Quand je dis cela a passé, c'est si j'excepte un plantage aléatoire résiduel non reproductible lors du refresh, plantage qui a toujours été problématique car "bloquant la dbGrid (?!)"... donc inexploitable en production. L'autre solution (avec les 2 zQuery) fonctionne toujours en production [0.9.26.2-Zeos 6.6.4 - XP et Linux]. J'espère que la dernière version de Zeos a rectifié le tir. Mais comme vous le savez, malgré ce petit problème et un peu d'UTF8 dans les Memo, je continue à faire de la pub pour cette bibli...

    Cordialement. Gilles

    * et à mon avis faire bien mieux
    Dernière modification par Invité ; 24/02/2010 à 19h01.

  8. #8
    Inactif  
    Profil pro
    Inscrit en
    Février 2003
    Messages
    4 341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 4 341
    Par défaut
    Bonjour,

    Et merci à vous tous pour vos réponses.

    En fait, je me suis lancé. En créant les lignes SQL et en mettant dans les variables les noms des champs de la table. Et, là ! Ô Miracle ! La base de données (sous SQLite3, je ne l'avait peut-être pas précisé) se met à jour toute seule. Seul bémol, si on ouvre la gestion SQL par clic droit sur le composant, les coupures de lignes ne sont pas interprétées correctement lors de l'execution SQL. Il faut les refaire dans l'inspecteur d'objets, mais ce n'est qu'un détail.

    Comment ça fonctionne, je n'ai que des suppositions, pas d'explications, donc j'attends avec impatience le cours de Maître Sergio !

Discussions similaires

  1. Utilisation de SUBSTR avec WHERE dans une requête SQL
    Par thipyt dans le forum Requêtes
    Réponses: 4
    Dernier message: 27/10/2016, 15h54
  2. comment utiliser EXECUTE BLOCK avec zeos lib
    Par mina24 dans le forum Bases de données
    Réponses: 6
    Dernier message: 08/04/2015, 11h20
  3. Fonctionnalités pour simplifier l'utilisation du SQL avec Qt
    Par charlespf dans le forum Bases de données
    Réponses: 0
    Dernier message: 08/05/2012, 10h48
  4. Utilisation de booleen avec des fonction en PL SQL
    Par tchoimars dans le forum SQL
    Réponses: 6
    Dernier message: 23/04/2009, 19h17
  5. [SQL-Server] Utilisation de SQL Server avec PHP
    Par kagura dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 22/01/2006, 15h39

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