POO DELPHI [Résolu]

keisha 8 Messages postés samedi 4 mai 2002Date d'inscription 28 juillet 2005 Dernière intervention - 17 juil. 2005 à 21:54 - Dernière réponse : keisha 8 Messages postés samedi 4 mai 2002Date d'inscription 28 juillet 2005 Dernière intervention
- 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
yvescollet 56 Messages postés mardi 26 août 2003Date d'inscription 22 janvier 2006 Dernière intervention - 18 juil. 2005 à 08:30
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

Merci yvescollet 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de yvescollet
keisha 8 Messages postés samedi 4 mai 2002Date d'inscription 28 juillet 2005 Dernière intervention - 28 juil. 2005 à 11:16
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.