POO DELPHI [Résolu]

Messages postés
8
Date d'inscription
samedi 4 mai 2002
Statut
Membre
Dernière intervention
28 juillet 2005
- - Dernière réponse : keisha
Messages postés
8
Date d'inscription
samedi 4 mai 2002
Statut
Membre
Dernière intervention
28 juillet 2005
- 28 juil. 2005 à 11:16
Hello, ai besoin d'aide urgent!
J'aimerai utiliser la POO mais je rencontre pas mal de problèmes:
Exemple:
-J'ai une classe TPersonne(Nom,Prenom)
Je veux créer un objet de type Personne(P1)
Dans ma BDD(moteur interbase) la table Personne a une clé primaire autoincrémentée,je ne vois pas comment gérer cette clé à la création de P1

J'aimerai mettre P1 dans le DBGrid lié à la table Personne et l'ajouter à la table

-J'ai une classe TCommercial(Tel, adresse) qui hérite de Nom et Prénom de TPersonne
Questions:
Dans ma BDD,je dois créer la table Commercial juste avec les champs Tel et adresse et sans PK ?
Comment faire pour afficher un DBgrid de commerciaux avec Nom et Prénom ?

Merci à vous,suis impatiente de vous lire
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
56
Date d'inscription
mardi 26 août 2003
Statut
Membre
Dernière intervention
22 janvier 2006
3
Merci
Hello,



alors tout d'abord faut pas mélanger la programmation orientée objet et
la strucuture de ta base de données, c'est 2 choses bien différentes,
mais pour répondre à tes questions:

pour gérer la clé de TPersonne, tu executes une requete dans ta table
personne "SELECT MAX(NO_PERSONNE) FROM PERSONNE", puis tu incrementes
le nombre de sélectionné de 1, et lors de l'instaciation de ton objet
personne tu lui passes en paramètrescette valeur (que tu auras pu
stocker dans une variable p.ex).



pour ta deuxième question (pas grand chose à voir avec la programmation
en delphi), mais ce que tu fais c'est que tu as ta table personne
(no_personne, nom, prenom) et lorsque tu créés un commercial
(no_commercial, tel, adresse, no_personne) tu rentres les infos dans
ces 2 tables (le champ no_personne de commercial est la clé étrangère
de no_personne de la table personne).



et pour afficher tout ça dans une DBGrid, et bien tu feras une seule
requete du style "SELECT * FROM PERSONNE, COMMERCIAL WHERE
PERSONNE.NO_PERSONNE = COMMERCIAL.NO_PERSONNE"



Bonne chance

Yves

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 141 internautes nous ont dit merci ce mois-ci

Commenter la réponse de yvescollet
Messages postés
8
Date d'inscription
samedi 4 mai 2002
Statut
Membre
Dernière intervention
28 juillet 2005
0
Merci
Hello Yves,
Tout d'abord,merci pour ta réponse.
En fait,je n'ai pas de problème pour gérer une BDD, ce que je voulais c'était justement mélanger POO et gestion de la BDD, et j'avais un souci au niveau de la persistance des objets.
J'ai trouvé la solution et c'est tout simplement génial!
J'ai installé InstantObjects.Au fur et à mesure que je crée mes classes dans le model explorer de delphi,le code est généré.
J'y gère les clés externes,l'héritage,la composition,bref...tout!Bien entendu j'ai du fouiller un peu pour bien comprendre et là ça va.
Bonne journée.
Commenter la réponse de keisha