Um conhecimento só é válido quando compartilhado.

segunda-feira, 26 de setembro de 2016

ORMBr - Como Incluir, Alterar e Excluir ?

Mais uma dica do ORMBr, vimos em um dos artigos escrito por mim sobre como criar uma conexão, para quem ainda não leu acesse ORMBr - Como criar uma conexão ?
Vamos hoje demonstrar o que temos que fazer para que possamos ter um DBGrid, onde nesse poderemos fazer Inclusão, Alteração e Exclusão de uma unica tabela no banco de dados, esse exemplo estará usando o recurso mais simples do ORMBr.
1o Passo: Criar a conexão com já mostrado no link como criar uma conexão.
2o Passo: Adiciona em seu form um TClientDataSet, (podemos usar o TFDMemTable), mas vou usar o TClientDataSet, pois este, está em todas as versões do Delphi desde a versão 3, adicione também um TDataSource, em seguida configure suas propriedades.
3o Passo:
Adicione na clausula USES, as units:
ormbr.dependency.injection.clientdataset,
ormbr.dependecny.interfaces,
ormbr.factory.dbexpress;  // <= Aqui a fábrica de conexão escolhida por você.
4o Passo: Crie seu modelo, como exemplo abaixo:
unit ormbr.model.client;

interface

uses
  Classes, 
  DB, 
  SysUtils, 
  Generics.Collections, 
  /// orm 
  ormbr.mapping.attributes, 
  ormbr.mapping.classes,
  ormbr.types.nullable,
  ormbr.types.lazy,
  ormbr.types.mapping,
  ormbr.mapping.register;

type
  [Entity]
  [Table('client','')]
  [PrimaryKey('client_id', 'Chave primária')]
  [Indexe('idx_client_name','client_name')]
  Tclient = class
  private
    { Private declarations }
    Fclient_id: Integer;
    Fclient_name: String;
    Fclient_name_: String;
  public
    { Public declarations }
    [Restrictions([NoUpdate, NotNull])]
    [Column('client_id', ftInteger)]
    [Dictionary('client_id','Mensagem de validação','','','',taCenter)]
    property client_id: Integer Index 0 read Fclient_id write Fclient_id;

    [Column('client_name', ftString, 40)]
    [Dictionary('client_name','Mensagem de validação','','','',taLeftJustify)]
    property client_name: String Index 1 read Fclient_name write Fclient_name;
  end;

implementation

initialization
  TRegisterClass.RegisterEntity(Tclient);

end.
5o Passo: Defina uma variável do tipo IContainerDataSet<T>, onde <T> deve ser o tipo do modelo que será usado, exemplo IContainerDataSet<Tclient>, veja o código exemplo:
oClient: TContainerClientDataSet<Tclient>;
6o Passo: No Create do Form, instancie a variável definida, passando para ela a variável de conexão criada, e o TClientDataSet que foi adicionado no inicio, veja o exemplo:
oClient := TContainerTClientDataSet<Tclient>.Create(oConn, ClientDataSet1);
7o Passo: Abra a tabela, chamando o método Open, veja o exemplo:
oClient.DataSet.Open;
Com esse código você já está hapto a Inserir, Alterar e Excluir registro no banco de dados, aqui vocês poderão pensar, o Delphi faz o mesmo até de forma mais simples, mas o diferencial está no modelo, pois se observarem, não pedi para adicionar TFields no TClientDataSet, os TFields adicionados em designer são um caos na vida do desenvolvedor para manutenção, e no ORMBr os TFields são adicionados em runtime, e todas as características de cada TFields é passada usando o atributo Dictionary() que os parâmetros são:
property ConstraintErrorMessage: string read FConstraintErrorMessage write 
FConstraintErrorMessage;
property DefaultExpression: string read FDefaultExpression write 
FDefaultExpression;
property DisplayFormat: string read FDisplayFormat write FDisplayFormat;
property EditMask: string read FEditMask write FEditMask;
property Alignment: TAlignment read FAlignment write FAlignment;
É isso ai, fiquem atentos e aguardem as próximas dicas.

0 comentários :

Postar um comentário

SAC Automação Delphi e Lazarus

SAC Automação Delphi e Lazarus
Assine nosso SAC Automação Delphi e Lazarus para ter suporte técnico especializado em desenvolvimento

Quem sou eu

Minha foto

Proprietário/Administrador de Empresa em TI (Tecsis Informática)
  • Autor dos projetos OpenSource ORMBr, e DBCBr
  • Autor dos componentes ACBrInstall, ACBrSped, ACBrPaf, ACBrInStore, ACBrDownload.

Total de visualizações

Postagem em destaque

ORMBr - Mapeamento objeto-relacional

Mapeamento objeto-relacional ( ou ORM, do inglês: Object-relational mapping ) é uma técnica de desenvolvimento utilizada para reduzir...

Todo os direitos reservados.. Tecnologia do Blogger.

Seguidores

Google+ Seguindores