keisha
Messages postés8Date d'inscriptionsamedi 4 mai 2002StatutMembreDernière intervention28 juillet 2005
-
17 juil. 2005 à 21:54
keisha
Messages postés8Date d'inscriptionsamedi 4 mai 2002StatutMembreDernière intervention28 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 ?
yvescollet
Messages postés55Date d'inscriptionmardi 26 août 2003StatutMembreDernière intervention22 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"
keisha
Messages postés8Date d'inscriptionsamedi 4 mai 2002StatutMembreDernière intervention28 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.