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: 323
» Último Membro: XAndy
» Tópicos do Fórum: 73
» Inserção de Mensagens: 337

Estatísticas Completas

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

Últimos Tópicos
Load Lazy automático
Fórum: Como Usar
Última Mensagem: Isaque Pinheiro
12-04-2019, 07:15 AM
» Respostas: 1
» Visualizações: 78
Erro instanciando TContai...
Fórum: Usando DataSet
Última Mensagem: juliomar
04-04-2019, 05:37 AM
» Respostas: 3
» Visualizações: 177
Campos Nullable
Fórum: Como Usar
Última Mensagem: Deivison Davi Albring
19-03-2019, 10:38 AM
» Respostas: 4
» Visualizações: 461
Como Povoar classes de ta...
Fórum: Como Usar
Última Mensagem: Deivison Davi Albring
15-03-2019, 03:21 PM
» Respostas: 2
» Visualizações: 218
Datasnap Exemplo
Fórum: RESTFull DataSnap
Última Mensagem: Gedeba
12-03-2019, 08:22 AM
» Respostas: 2
» Visualizações: 324
Ormbr com restdataware
Fórum: Como Usar
Última Mensagem: Gedeba
09-03-2019, 10:00 AM
» Respostas: 2
» Visualizações: 353
Duvida DataSnap
Fórum: RESTFull DataSnap
Última Mensagem: Isaque Pinheiro
09-03-2019, 09:03 AM
» Respostas: 3
» Visualizações: 1,328
ERRO EM orm.dll.generator...
Fórum: Código Fonte
Última Mensagem: Isaque Pinheiro
01-03-2019, 09:10 AM
» Respostas: 4
» Visualizações: 1,662
Erro em ormbr.dataset.bin...
Fórum: Usando DataSet
Última Mensagem: Isaque Pinheiro
01-03-2019, 08:49 AM
» Respostas: 5
» Visualizações: 1,504
Erro: Column cannot be re...
Fórum: Como Usar
Última Mensagem: Isaque Pinheiro
16-02-2019, 12:40 PM
» Respostas: 4
» Visualizações: 1,489

 
  Load Lazy automático
Inserido por: Odlawso - 09-04-2019, 06:03 PM - Fórum: Como Usar - Respostas (1)

Saudações.

Estou implementando um projeto usando o ORMBr e vi a necessidade de usar load lazy para obter melhor desempenho.
Entretanto, uma dificuldade que estou tendo é o fato de ter que fazer o carregamento das dependências manualmente, ou seja, através de uma linha de comando.
É possível, ou há previsão de que o ORMBr faça o carregamento automaticamente quando o objeto fosse acessado?

Obrigado.

Imprimir este artigo

  Erro instanciando TContainerClientDataSet com coluna > 31 caracteres e valor default
Inserido por: Odlawso - 29-03-2019, 04:02 PM - Fórum: Usando DataSet - Respostas (3)

Saudações!

Está ocorrendo um erro quando instancio um TContainerClientDataSet<M> cuja entidade M contenha uma coluna com nome maior que 31 caracteres, conforme exemplo abaixo.
No Dictionary, além de ter o nome grande, a coluna precisa ter um valor default. Sem o valor default o erro não ocorre.

---- Início do exemplo

Classe TPedido:
----

type
  [Entity]
  [Table('pedido', '')]
  [PrimaryKey('codigo', NotInc, NoSort, False, 'Chave primária')]
  Tpedido = class(TInterfacedObject, Ipedido)
  private
    { Private declarations }
    Fcodigo: Integer;

...

    Fvalor_outras_despesas_acessorias: Currency;

...

  public
...

    [Column('valor_outras_despesas_acessorias', ftCurrency)]
    [Dictionary('valor_outras_despesas_acessorias', 'Mensagem de validação', '0', '', '', taRightJustify)]
    property valor_outras_despesas_acessorias: Currency read Fvalor_outras_despesas_acessorias write Fvalor_outras_despesas_acessorias;


Chamada onde ocorre o erro:
------

FContainerPedido := TContainerClientDataSet<TPedido>.Create(FConn.Conn, qryPedido);


Exception:
------

valor_outras_despesas_acessorias: Preparation of default expression failed with error "Violação de acesso ao endereço 009AE939 no módulo 'MeuServer.exe'. Leitura do endereço 00000034"

---- Fim do exemplo

Alguém já passou por esse problema e tem uma solução?

Imprimir este artigo

  Campos Nullable
Inserido por: Deivison Davi Albring - 15-03-2019, 03:35 PM - Fórum: Como Usar - Respostas (4)

Tenho um modelo que contem campos do tipo Nullable<String> ex:

    [Column('BASE_FONE_CON1', ftString, 15)]
    [Dictionary('BASE_FONE_CON1', 'Mensagem de validação', '', '', '', taLeftJustify)]
    property BASE_FONE_CON1: Nullable<String> read FBASE_FONE_CON1 write FBASE_FONE_CON1;


Tudo certo, populo a classe TBASE e, na hora de jogar os dados na tela para os edit's, se o campo acima estiver NULL no banco de dados
ocorre o erro : 

Invalid operation, Nullable type has no value.

gostaria de saber se tem alguma maneira de tratar esse retorno para trazer um default talvez quando o campo for NULL.

Sei que existe a função .GetValueOrDefault, mas além disso, nao teria como o framework tratar automaticamente e trazer um default no lugar de null?

Obrigado!

Imprimir este artigo

  Como Povoar classes de tabelas usando joins
Inserido por: Deivison Davi Albring - 14-03-2019, 04:27 PM - Fórum: Como Usar - Respostas (2)

Existe algum método, tipo um "Load" que sirva para povoar as classes das tabelas?

por enquanto estou fazendo uma class function exemplo :

class fuction Load(id : Integer): TPESSOA;
var
  oContainer : TContainerObjectSet<TPESSOA>;
  List : TObjectList<TPESSOA>;
begin
  oContainer := TCOntainerObjectSet<TPESSOA>.Create(oConn);
  List := oContainer.Findwhere('id = '+id.ToString);
  Result := List.First;
end;

isso retorna um objeto TPESSOA contendo um registro
no formulário só preciso passar pra um TObjectList e posso usar, até aí tudo bem..

agora, se eu quiser fazer isso usando Joins...?
(Pode ser que eu não descobri que ja existe um método mais fácil, mas,caso não exista, fica a dica de implementar uma função como essa nativamente no Framework)

Imprimir este artigo

  Datasnap Exemplo
Inserido por: Gedeba - 11-03-2019, 11:59 AM - Fórum: RESTFull DataSnap - Respostas (2)

Bom dia Isaque,
desculpa a insistência... estou estudando os exemplos via firedac, na pasta datasnap tem o cliente e o servidor o servidor esta compilando normalmente mas quando tento executar o cliente da o erro Unit 'firedac.stan.exprfuncs' not found. Fui no exemplo e coloquei a unit no form3 e ainda da o erro....

o erro ocorre quando tento executar esta linha
oDataSnapMaster := TContainerRESTFDMemTable<Tmaster>.Create(FDMaster);

No seu exemplo vc tem um servidor comum usando  fdconnection, usando os métodos no servermetodos insert update e delete e busca tem como no lado cliente trabalhar com objeto puro no exemplo vc utiliza o fdmentable...  e vc tem um exemplo usando objeto puro cliente/servidor mas passando um fdconnection como parametro para conexao com  banco.  tem como usar o cliente puro sem passar um fdconnection... este exemplo esta ok.. executando sem erro...

Desde já agradeço a atenção e o compartilhamento de informações e do projeto.

Geraldo.

Imprimir este artigo

  Ormbr com restdataware
Inserido por: Gedeba - 07-03-2019, 09:41 AM - Fórum: Como Usar - Respostas (2)

Bom dia Isaque

Tem algum exemplo usando do restdataware, vim um exemplo firedac usando o datasnap, fiz atualização novamente ainda não encontrei nada, se optar em usar o firedac para no servidor ter acesso mobile também, pelo que vi no exemplo tem que se criar cada (4) método  para cada tabela ou tem alguma forma mais simples de implementação

Desde já agradeço.

Geraldo

Imprimir este artigo

  Erro em campo NotNull
Inserido por: samuca.ti@hotmail.com - 17-09-2018, 08:54 AM - Fórum: Usando DataSet - Respostas (14)

Boa tarde Pessoal,

estou quebrando a cabeça no segunte problema

No banco sqlserver a coluna "Descricao" está como not null.

se eu fizer um insert via management studio 
insert INSERT INTO MESA (DESCRICAO) VALUES ('') - ok

via 
oMesas := TContainerObjectSet<TMesa>.Create(iBDConexao, -1);

Mesa.descricao := '';
oMesas.Insert(Mesa); -ok

porem ao recarregar o clientdataset dá a mensagem "Field value required" e dá access violation e fecha o app.

resposta obvia: "o campo é obrigatorio e estou inserindo vazio ("nao estou mandando null")"

porem ele deixa gravar tanto no sql quanto no container, o problema é ao carregar, não deveria dar essa mensagem visto que o campo não está como null no registro e sim com 'vazio'.

    [Restrictions([NotNull])]
    [Column('DESCRICAO', ftString, 30)]
    [Dictionary('DESCRICAO', 'Descrição da Mesa', '', '', '', taLeftJustify)]
    property descricao: String read FDESCRICAO write FDESCRICAO;


Origens do Problema:
procedure TSessionDataSet<M>.OpenSQL(const ASQL: string);

onde alimenta os fields no cds:
procedure TBindDataSet.SetInternalInitFieldDefsObjectClass(ADataSet: TDataSet; AObject: TObject);

if LColumn.IsNotNull then
      ADataSet.FieldByName(LColumn.ColumnName).Required := True;

se alguem tiver uma solução e puder ajudar, estou tentando aqui mas se alguem conseguir achar algo antes.

obrigado

Imprimir este artigo

  ClientDateSet de TContainerObjectSet
Inserido por: samuca.ti@hotmail.com - 14-09-2018, 01:41 PM - Fórum: Usando DataSet - Respostas (2)

É possível gerar o clientdataset de um TContainerObjectSet?

estou usando o CDS só para preencher a grade e as demais operações gostaria de usar o objeto(TContainerObjectSet).

eu fiz assim:
oMesas := TContainerObjectSet<TMesa>.Create(iBDConexao, -1);//para manipular os objetos insert,update,delete
iMesas := TContainerClientDataSet<TMesa>.Create(iBDConexao, cdsMesas);//carregar a grade
iMesas.Open;

pensei em algo do tipo iMesas.LoadFromObjectSet(oMesas);

a fim de econoziar buscas no banco, buscaria os dados somente uma vez no ObjectSet.

Imprimir este artigo

  Não encontrado ormbr.client.interfaces
Inserido por: samuca.ti@hotmail.com - 12-09-2018, 10:50 AM - Fórum: Exemplos - Respostas (2)

Bom dia Pessoal, 

estou tentando compilar o demo C:\ORMBR\Demo\Data\ADO

e está dando erro de arquivo inexistente, quando compilo, estou usando o Delphi 10.2, baixei o fonte em: https://bitbucket.org/isaquepinheiro/ormbr/src, procurei o arquivo e não encontro, já adicionei os library path bonitinho.

  {$IFDEF DRIVERRESTFUL}
  ormbr.client.interfaces,
  {$ENDIF}

no arquivo C:\ORMBR\Source\RESTful\ormbr.restdataset.fdmemtable.pas

Quem puder me ajudar.

obrigado

Imprimir este artigo

  TBlob sem DataSet (Firemonkey)
Inserido por: israelbcoelho - 20-07-2018, 11:24 AM - Fórum: Como Usar - Respostas (2)

Bom dia


Como trabalhar com TBlob sem DataSet (Firemonkey)
    
  * Como realizar o Bind dos dados 
     - TBlob     => TImage  
     - TImage  => TBlob

Imprimir este artigo