Bem Vindo, Visitante
Você tem que se registrar antes, para poder colocar mensagens no Fórum.

Nome de usuário/Email:
  

Senha
  





Pesquisar Nos Fóruns

(Pesquisa Avançada)

Estatísticas do Fórum
» Membros: 402
» Último Membro: Andre Loiola
» Tópicos do Fórum: 98
» Inserção de Mensagens: 404

Estatísticas Completas

usuários Online
Estão de momento 32 usuárioes online.
» 0 Membro(s) | 31 Visitante(s)
Bing

Últimos Tópicos
Aggregate somente com um ...
Fórum: Usando DataSet
Última Mensagem: Cleonir
16-06-2020, 05:31 PM
» Respostas: 0
» Visualizações: 142
Primeir Registro
Fórum: Como Usar
Última Mensagem: leandrodocouto
13-05-2020, 01:47 PM
» Respostas: 1
» Visualizações: 565
Método clone pelo ORMBR
Fórum: Usando ObjectSet
Última Mensagem: Deivison Davi Albring
09-12-2019, 09:38 AM
» Respostas: 0
» Visualizações: 721
ormbr.types.database
Fórum: Como Usar
Última Mensagem: ailtonbrc
11-11-2019, 11:06 AM
» Respostas: 1
» Visualizações: 1,887
ExecuteDirect X ExecuteSc...
Fórum: Como Usar
Última Mensagem: Isaque Pinheiro
26-09-2019, 09:57 AM
» Respostas: 1
» Visualizações: 1,675
dúvida de iniciante -> le...
Fórum: Como Usar
Última Mensagem: Gr@c@
24-09-2019, 08:38 AM
» Respostas: 0
» Visualizações: 932
Executar uma StoredProced...
Fórum: Como Usar
Última Mensagem: Gr@c@
23-09-2019, 06:11 PM
» Respostas: 0
» Visualizações: 1,009
link tortoise-git
Fórum: Como Usar
Última Mensagem: Isaque Pinheiro
26-08-2019, 11:13 AM
» Respostas: 1
» Visualizações: 1,977
TORMBrJson.JsonToObjectLi...
Fórum: Código Fonte
Última Mensagem: Isaque Pinheiro
13-07-2019, 03:07 PM
» Respostas: 1
» Visualizações: 1,866
Fechar conexão
Fórum: Como Usar
Última Mensagem: MaikonPanazzolo
04-06-2019, 05:03 PM
» Respostas: 7
» Visualizações: 6,480

 
  Erro na compilação
Inserido por: emsoft - 14-10-2016, 07:36 PM - Fórum: Código Fonte - Respostas (3)

Antes de colocar meu primeiro post, quero parabenizar ao Isaque, pelo excelente trabalho. Baixei o projeto e estou tentando compilar. Na unit ormbr.factory.interfaces faz referencia a unit ormbr.types.database só que não encontrei a mesma. Alguma dica ?

[]s

Imprimir este artigo

  Aprendendo o uso.
Inserido por: CleitonMaciel - 07-10-2016, 10:36 AM - Fórum: Como Usar - Respostas (4)

Pessoal estou com problema no FormCreate ao compilar retorna mensagem abaixo.

Código:
procedure TPrincipal.FormCreate(Sender: TObject);
begin
   oCliente := IContainerDataSet<TCliente>.Create(oConexao, tbCliente);
   oCliente.DataSet.Open;
end;

erro no .Create

ERRO:
[dcc32 Error] uPrincipal.pas(51): E2018 Record, object or class type required

Form principal

Código:
unit uPrincipal;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, FireDAC.Stan.Intf, FireDAC.Stan.Option,
  FireDAC.Stan.Error, FireDAC.UI.Intf, FireDAC.Phys.Intf, FireDAC.Stan.Def,
  FireDAC.Stan.Pool, FireDAC.Stan.Async, FireDAC.Phys, FireDAC.Phys.FB,
  FireDAC.Phys.FBDef, FireDAC.VCLUI.Wait, FireDAC.Phys.IBBase, FireDAC.Comp.UI,
  Data.DB, FireDAC.Comp.Client, FireDAC.Stan.Param, FireDAC.DatS,
  FireDAC.DApt.Intf, FireDAC.Comp.DataSet,


  /// orm factory
  ormbr.factory.interfaces,
  /// orm injection dependency
  ormbr.dependency.interfaces,
  ormbr.dependency.injection.fdmemtable,
  ormbr.factory.firedac,

  demo.model.cliente;

type
  TPrincipal = class(TForm)
    Conexao: TFDConnection;
    FDGUIxWaitCursor1: TFDGUIxWaitCursor;
    FDPhysFBDriverLink1: TFDPhysFBDriverLink;
    tbCliente: TFDMemTable;
    dsCliente: TDataSource;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    oConexao: IDBConnection;
    oCliente: IContainerDataSet<TCliente>;
  end;

var
  Principal: TPrincipal;


implementation

{$R *.dfm}

procedure TPrincipal.FormCreate(Sender: TObject);
begin
   oCliente := IContainerDataSet<TCliente>.Create(oConexao, tbCliente);
   oCliente.DataSet.Open;
end;

end.

Classe Model

Código:
unit demo.model.cliente;

interface

uses
   Classes, DB, ormbr.mapping.attributes;

type
   [Entity]
   [Table('CLIENTE','')]
   TCliente = class
  private
    Fid: Integer;
    Fnome: string;

  public
    [PrimaryKey()]
    [Column('ID',ftInteger)]
    [Dictionary('ID','Mensagem de validação','','','',taCenter)]
    property id: Integer index 0 read Fid write Fid;

    [Column('NOME',ftString, 60)]
    [Indexe('idx_nome','nome')]
    [Dictionary('NOME','Nome é obrigatório','','','',taLeftJustify)]
    property nome: string index 1 read Fnome write Fnome;
   end;

implementation

{ TCliente }

{ TCliente }

end.

Imprimir este artigo

  ORMBr - Como baixar e Testar
Inserido por: Isaque Pinheiro - 26-09-2016, 06:39 PM - Fórum: Código Fonte - Respostas (2)

O ORMBr você não precisa instalar nada no seu Delphi:

1) Usar Delphi XE ou superior

2) Baixe os fontes do projeto direto do repositório Download https://bitbucket.org/isaquepinheiro/ormbr/downloads

a) Uma outra opção é instalar o Git+TortoiseGit para sempre atualizar seus fontes como o do repositório, veja passo a passo nesse link http://plugue.net.br/blog/tortoise-git/ Guia Git+TortoiseGit passo a passo, se não for suficiente, existem vários posts sobre o assunto.

3) Após baixar todo os fontes, junto irá ter alguns demos, um usando para acesso a dados o DBExpress, outro o FireDAC e outro usando o Zeos, os demos ficam dentro da pasta .\ORMBr\Demo\Data, escolha o de sua preferencia e abra pelo seu Delphi, em seguida basta compilar e estudar os fontes, como já dito não precisa instalar nada.

Nota: O ORMBr, pode usar dois componentes conhecidos por nós para fazer baind, com os componentes DBs (TDBEdit, TDBGrid, etc...) são eles : TClientDataSet ou TFDMenTable (esse do engine FireDAC), o componente fica a sua escolha, e ele é independente do engine de conexão que você usará seja ele DBExpress, FireDAC ou Zeos.

Imprimir este artigo

  ORMBr - Como criar uma conexão ?
Inserido por: Isaque Pinheiro - 26-09-2016, 05:45 PM - Fórum: Como Usar - Respostas (2)

Para conexão de dados no ORMBr, hoje podemos usar três suítes, DBX (TSQLConnection), FireDAC (TFDConnection) e ZeosLib (ZConnection).

1o Passo: A conexão deve ser parametrizada da forma que você já conhece no Delphi, ou seja colocando o componente de conexão no seu projeto e parametrizando suas propriedades, a forma que irá fazer isso não importa para o ORMBr.
2o Passo: Adicione no seu projeto as units do ORMBr, conforme a suite de acesso a dados escolhido, além das units necessárias por cada suite.

Código:
// DBExpress
uses
  ormbr.factory.interfaces,
  ormbr.factor.dbexpress;
Código:
// ZeosLib
uses
  ormbr.factory.interfaces,
  ormbr.factor.zeos;
Código:
// FireDAC
uses
  ormbr.factory.interfaces,
  ormbr.factor.firedac;
3o Passo: Crie uma variável global do tipo IDBConnection, da qual você terá acesso a ela em todo seu projeto, caso precise de algum recurso do banco, como StarTransaction, Commit, RollBack etc...
Código:
...
// Variável de conexão global.
var
  oConnection: IDBConnection;
...
4o Passo: Instanciar a variável de conexão, passando para ela dois parâmetros: O Componente usado para conexão das suítes citadas acima O Tipo do banco de dados que irá usar os tipo são: dnSQLite, dnFirebird, dnMySQL, dnMSSQL etc...
Código:
// DBExpress
oConnection := TFactoryDBExpress.Create(SQLConnection1, dnSQLite);

// ZeosLib
oConnection := TFactoryZeos.Create(ZConnection1, dnSQLite);

// FireDAC
oConnection := TFactoryFireDAC.Create(FDConnection1, dnSQLite);
Agora é só usar, lembrando que o ORMBr trabalha de forma desconectada, dessa forma você não precisa abrir a conexão, deixe que ele gerencie isso para você, ele irá abrir na hora que precisar e fechar quando não mais, isso automaticamente.

Imprimir este artigo

  ORMBr - Mapeamento objeto-relacional
Inserido por: Isaque Pinheiro - 23-09-2016, 02:48 PM - Fórum: Como Usar - Respostas (5)

Mapeamento objeto-relacional (ou ORM, do inglês: Object-relational mapping) é uma técnica de desenvolvimento utilizada para reduzir a impedância da programação orientada aos objetos utilizando bancos de dados relacionais. As tabelas do banco de dados são representadas através de classes e os registros de cada tabela são representados como instâncias das classes correspondentes.
Com esta técnica, o programador não precisa se preocupar com os comandos em linguagem SQL; ele irá usar uma interface de programação simples que faz todo o trabalho de persistência.
Não é necessária uma correspondência direta entre as tabelas de dados e as classes do programa. A relação entre as tabelas onde originam os dados e o objecto que os disponibiliza é configurada pelo programador, isolando o código do programa das alterações à organização dos dados nas tabelas do banco de dados.
ORM não é uma técnicas tão recentes, pois já exitem a algum tempo em outras linguagens como Java, e C#, acredito que muitos já ouviram falar sobre Hibernate ORM para a linguagem Java, e Entity Framework para as linguagens .NET da Microsoft.
Já para o Delphi, essa técnica é mais recente, começou a se expandir a partir da versão Delphi 2010, após as enormes melhorias na RTTI e o recurso Generics.
Ultimamente, acredito que a maioria de vocês, tem lido ou ouvido algo sobre ORM, mas a questão é, qual seria as ventagens e quanto isso me custaria para implementar em meus sistemas já existentes, e por fim qual o melhor ORM para eu analisar?
Venho a algum tempo, analisando e estudando as vantagens e funcionalidades de alguns ORMs do mercado, assistindo videos, analisando exemplos etc... e cheguei a conclusão que o ORM seria um grande aliado para nós desenvolvedores, principalmente com a falta de profissionais qualificados no mercado para nos ajudar na continuidade em nossos projetos.
Vou citar aqui um ponto de vantagem, veja se concorda:
Muitos de nós somos desenvolvedores solitários, o qual temos um sistema e a N vezes pensamos em contratar alguém para nos ajudar a mantê-lo, mas nosso tempo é curto e nosso código é tão enraizado em nossos modo de desenvolvimento que ao pensar em ensinar alguém, até desanimamos, pois isso iria nos consumir tempo enorme, então  preferimos nós mesmos pegar e fazer.
Com um ORM, temos vantagens nesse ponto, pois um ORM irá exigir uma linha de aprendizado bem curta a um desenvolvedor que possamos contrata-lo para nos ajudar, isso porque o ORM irá fazer a parte pesada nos bastidores, aliviando e agilizando o aprendizado em um novo profissional.
Poderia ficar aqui citando várias situações das quais, acredito eu que 100% de nós desenvolvedores sofremos no dia dia para conseguirmos ajuda em nosso projetos, mas não vou fazer isso, o exemplo acima já nos mostrar uma visão geral de nossas dificuldades.

Apresento a vocês :

[Imagem: ormbr_11.jpg]

ORMBr, como o nome já diz, e assina Brasil, é um Framework criado por mim (Isaque Pinheiro), e apesar de ser uma criança ainda, já mostrou um QI acima da média, e a ótima notícia é que ele é OpenSource, podendo ser baixado direto no Bitbucket <!-- m --><a class="postlink" href="https://bitbucket.org/isaquepinheiro/ormbr/downloads">https://bitbucket.org/isaquepinheiro/ormbr/downloads</a><!-- m -->.

Veja mais detalhes no meu blog : http://isaquepinheirobr.blogspot.com.br/...ional.html

Imprimir este artigo

  Diagrama de Classe de Conexão
Inserido por: Isaque Pinheiro - 23-09-2016, 02:46 PM - Fórum: Como Usar - Sem Respostas


.png   Connection.png (Tamanho: 161.89 KB / Downloads: 606)

Imprimir este artigo

  Diagrama de Classe de Comandos
Inserido por: Isaque Pinheiro - 23-09-2016, 02:35 PM - Fórum: Como Usar - Sem Respostas


.png   Commands.png (Tamanho: 288.57 KB / Downloads: 638)

Imprimir este artigo

  ORMBr - Como Conhecer e Testar
Inserido por: Isaque Pinheiro - 23-09-2016, 01:56 PM - Fórum: Como Usar - Respostas (9)

O ORMBr você não precisa instalar nada no seu Delphi:

  1. Usar Delphi XE ou superior

  2. Baixe os fontes do projeto direto do repositório https://bitbucket.org/isaquepinheiro/ormbr/downloads

    Uma outra opção é instalar o Git+TortoiseGit para sempre atualizar seus fontes como o do repositório, veja passo a passo nesse link http://plugue.net.br/blog/tortoise-git/, se não for suficiente, existem vários posts sobre o assunto.

  3. Após baixar todo os fontes, junto irá ter alguns demos, um usando para acesso a dados o DBExpress, outro o FireDAC e outro usando o Zeos, os demos ficam dentro da pasta .\ORMBr\Demo\Data, escolha o de sua preferencia e abra pelo seu Delphi, em seguida basta compilar e estudar os fontes, como já dito não precisa instalar nada.

Nota: O ORMBr, pode usar dois componentes conhecidos por nós para fazer baind, com os componentes DBs (TDBEdit, TDBGrid, etc...) são eles : TClientDataSet ou TFDMenTable (esse do engine FireDAC), o componente fica a sua escolha, e ele é independente do engine de conexão que você usará seja ele DBExpress, FireDAC ou Zeos.

Imprimir este artigo