POO DELPHI

Résolu
keisha Messages postés 8 Date d'inscription samedi 4 mai 2002 Statut Membre Dernière intervention 28 juillet 2005 - 17 juil. 2005 à 21:54
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

2 réponses

yvescollet Messages postés 55 Date d'inscription mardi 26 août 2003 Statut Membre Dernière intervention 22 janvier 2006
18 juil. 2005 à 08:30
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
3
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 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.
0
Rejoignez-nous