Précédent   Forum du club des développeurs et IT Pro > Environnements de développement > Delphi > Bases de données
Bases de données Vos questions concernant les bases de données (BDE, Access, SqlServer...)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 26/02/2013, 20h36   #1
Fxg
Membre éprouvé
 
Inscription : septembre 2003
Messages : 400
Détails du profil
Informations personnelles :
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : septembre 2003
Messages : 400
Points : 430
Points : 430
Par défaut Insertion enregistrement Firebird Zeos

Bonjour

Suite à cette première question, ma petite application affiche parfaitement les données à la fois dasn le DBGrid et le détail dans les DBEdit qui vont bien.

Dans la première version sous BDE + Paradox je passais par des TTables pour toutes les opérations d'insertion, de supression, etc.

Suite à la migration sous Firebird + Zeos je n'arrive plus à insérer un enregistrement. Le schéma est le suivant : depuis le Form principal j'ouvre un nouveau Form puis saisie des données puis validation.
Le problème se pose pour les données issues d'une autre table :
Prenons trois tables :
Livres (num_livre, titre, num_auteur, num_genre)
Auteurs (num_auteur, nom)
Genres (num_genre, genre)
Comment faire pour que puisse avoir mes auteurs et mes genres dans une liste déroulante sans repasser par l'utilisation du TTable mais en passant par SQL ?

Merci

En PJ le Form qui permet de saisir les données.

[IMG][/IMG]
Fxg est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/02/2013, 21h27   #2
akli_agha
Membre confirmé
 
Inscription : décembre 2004
Messages : 310
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 310
Points : 226
Points : 226
Tu utilises 2 couples TZReadOnlyQuery - DataSource pour la table auteur et la table genre que tu relieras au 2 DBLookupComboBox de ta forme !
Y a rien de difficile ici sauf si je n'ai pas saisi ta question !
NB : Tu ouvres en premier lieu ces 2 query et après la table ou le query principal.

Personnellement, j'utilise exclusivement les TZReadOnlyQuery pour affichage et les TZQuery pour mise à jour et ce avec le couple Zeos+Firebird. Les DBEdit, je les ai banni de mon code ! Je me sers plutôt des Edit !

Bon courage.
akli_agha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/02/2013, 08h22   #3
SergioMaster
Modérateur
 
Avatar de SergioMaster
 
Homme Serge Girard
Développeur informatique
Inscription : janvier 2007
Messages : 4 204
Détails du profil
Informations personnelles :
Nom : Homme Serge Girard
Âge : 56
Localisation : France

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

Informations forums :
Inscription : janvier 2007
Messages : 4 204
Points : 7 258
Points : 7 258
Citation:
Envoyé par akli_agha
Personnellement, j'utilise exclusivement les TZReadOnlyQuery pour affichage et les TZQuery pour mise à jour et ce avec le couple Zeos+Firebird.
idem
Citation:
Envoyé par akli_agha
Les DBEdit, je les ai banni de mon code ! Je me sers plutôt des Edit !
je n'en voit pas la raison , coupler un TZQuery avec un TZupdateSQL fonctionne parfaitement

pour en revenir a la question initiale:
Citation:
Envoyé par akli_agha
utilise 2 couples TZReadOnlyQuery - DataSource pour la table auteur et la table genre que tu relieras au 2 DBLookupComboBox de ta forme
c'est ce que je ferais également

mais le titre du post "Insertion enregistrement ...." me déconcerte y aurait t'il par omission quelque chose de caché , comme la possibilité d'ajouter des auteurs ou des genres ? dans ce cas là ce ne serait pas tout à fait la même direction que je prendrais
__________________
La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein
J'entends et j'oublie. Je vois et je me souviens. Je fais et je comprends . Confucius
Si votre seul outil est un marteau, vous aurez tendance a ne voir que des clous
SergioMaster est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/02/2013, 09h24   #4
Fxg
Membre éprouvé
 
Inscription : septembre 2003
Messages : 400
Détails du profil
Informations personnelles :
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : septembre 2003
Messages : 400
Points : 430
Points : 430
Effectivement le 1ère demande n'est pas assez précise car si le genre ou l'auteur sont absent lors de la saisie de l'ouvrage en cliquant sur le boutton a côté j'ouvre une autre form pour saisir l'ouvrage ou le genre par exemple.

Mes DBLookupComboBox étaient bien alimentés par des TZQuery mais pas par des TZReadOnlyQuery ?

Question subsidiaire : pourquoi un TZReadOnlyQuery ?
Fxg est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/02/2013, 15h56   #5
SergioMaster
Modérateur
 
Avatar de SergioMaster
 
Homme Serge Girard
Développeur informatique
Inscription : janvier 2007
Messages : 4 204
Détails du profil
Informations personnelles :
Nom : Homme Serge Girard
Âge : 56
Localisation : France

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

Informations forums :
Inscription : janvier 2007
Messages : 4 204
Points : 7 258
Points : 7 258
TZReadOnlyQuery parce que c'est une donnée en lecture seule (du moins pour la source de référence)
__________________
La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein
J'entends et j'oublie. Je vois et je me souviens. Je fais et je comprends . Confucius
Si votre seul outil est un marteau, vous aurez tendance a ne voir que des clous
SergioMaster est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/02/2013, 16h30   #6
Fxg
Membre éprouvé
 
Inscription : septembre 2003
Messages : 400
Détails du profil
Informations personnelles :
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : septembre 2003
Messages : 400
Points : 430
Points : 430
Ok mais si je veux rajouter un genre en cours d'insertion :
1- Je ferme ma TZReadOnlyQuery
2- J'ouvre mon Form Ajout d'un genre
3- Je ferme le Form
4- J'ouvre le TZReadOnlyQuery de nouveau

A suivre je suis en train de mettre (lentement) tout cela en place avant de nouvelles questions
Fxg est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/02/2013, 21h20   #7
akli_agha
Membre confirmé
 
Inscription : décembre 2004
Messages : 310
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 310
Points : 226
Points : 226
Citation:
Envoyé par Sergio
je n'en voit pas la raison , coupler un TZQuery avec un TZupdateSQL fonctionne parfaitement
C'est juste un choix personnel ! Et ce que vous fonctionne fort bien !


@Fxg

Il suffit juste de faire un refresh au lieu de fermer et ouvrir !
Pour le TZReadOnlyQuery, il est en lecture seule, comme a dit Sergio, et donc bouffe moins de ressources que le TZQuery !


PS : Quant à ton post, j'ai juste répondu à ta question que voici :
Citation:
Comment faire pour que puisse avoir mes auteurs et mes genres dans une liste déroulante sans repasser par l'utilisation du TTable mais en passant par SQL ?
akli_agha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/02/2013, 09h39   #8
Fxg
Membre éprouvé
 
Inscription : septembre 2003
Messages : 400
Détails du profil
Informations personnelles :
Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : septembre 2003
Messages : 400
Points : 430
Points : 430
Merci
Fxg est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 12h43.


 
 
 
 
Partenaires

Hébergement Web