Principe du mapping propriété/colonne Mapping
Que ce soit en lecture (select) ou écriture (update/insert), on remarque dans les contrôleurs ce genre de ligne :
function TUserController.UpdateUser:TErrorCode;
....
aQuery.ParamByName('afirstname').AsString :=
FCurrentUser.FirstName;
aQuery.ParamByName('alastname').AsString :=
FCurrentUser.LastName;
ou
function TUserController.LogUser(login, password: string;out
anError:TErrorCode): TUser;
....
aUser := TUser.Create;
aUser.ID := aquery.FindField('id').AsInteger;
aUser.Login := aquery.FindField('login').AsString;
aUser.Password := aquery.FindField('password').AsString;
On manipule par exemple sur la classe TUser la propriété FirstName dont la valeur va dans la colonne first_name de la table users. Idem pour LastName et les autres propriétés.
type TEntity = class(TObject)
private
FDBField1 : string;
public
property DBField1 : string read FDBField1 write FDBField1;
end;
Dans ce code, on crée une classe dans laquelle on veut que la propriété DBField1 soit en relation avec une colonne d’une table dont le nom est également DBField1.
Ainsi, en se forçant à écrire le nom de la propriété en Delphi et le nom de la colonne dans...