Ah c'est bien le problème !
Avec XE2, les LiveBindings pourraient une nouveauté intéressante à exploiter !
Sinon avec Delphi 7, tu n'aurais pas une version entreprise, cela inclu BOLD !
Regarde InstantObjects, cela fait déjà tout !
Enfin, tu peux donc écrire ta propre couche d'objet persistant !
Tes objets peuvent très bien utilisé un TDataSet interne !
L'objet fourni une propriété DataSource, cela permet de lier un objet le TDataSet interne avec les DBControls !
Ton code serait donc
1 2 3 4 5
|
Obj_Client:=TClient.create();
Obj_Client.DataSource := Form1.DataSource1;
Obj_Client.LoadByID(1); // Génère le SQL et l'execute
Obj_Client.Edit(); |
Dans le bouton valider
Obj_Client.store();// enregistre le client dans la base
Store utilise le Post du DataSet interne, ou alors, tu peux générer ton propre SQL à la volée
je te DECONSEILLE vivement
1 2
| Obj_Client.nom:=dbedit_Nom.text;
Obj_Client.prenom:=dbedit_Prenom.text; |
Soit tu utilises des DBControls et donc un TDataSet interne à l'objet accessible via un TDataSource
Soit tu utilises des Controls non DB et tu fais tout à la main (un peu dommage !)
Ne mélange pas le deux !
Tu utilise ADO ou DBExpress ?
Perso, j'ai pondu un mini couche sur DBExpress en C++Builder, j'ai un double mode, soit les objets soit chargés par RTTI soit utilise un DataSource, c'est selon le besoin !
J'avais fait aussi une couche plus poussé gérant le modèle relationnel en Delphi, idem double mode, RTTI et DataSource
Partager