Fórum Carregar ClientDataSet com todos dados da camada BD - DataSnap #9493
23/09/2009
0
Como é minha primeira postagem, a arquitetura que estou usando é a seguinte:
Aplicação Server:TDSServerModule ( SqlDataSet - DataSetProvider )TdataModule (TSQLConection - DSServer - DSServerClass - ServerTransport )Aplicação ClientTDataModule(SQLConection - DSProviderConnection - ClientDataSet )Não utilizo o SQLServerMethod, Gero uma classe do dataSnap toda vez que atualizo a aplicação server pelo SQLConnection(GenerateDataSnap...etc)
Já uso algumas funções de pesquisas etc. e esta OK a comunicação entre as aplicações; Más como ainda é tudo novo pra mim essa forma de programar e estou aprendendo fazendo, resolvi postar para pedir um Help pra quem sabe. rsrs
No aguardo,
Fabiano
Fabiano Araujo
Curtir tópico
+ 0Posts
24/09/2009
Wesley Yamazack
Pelo que estive vendo aqui está tudo correto, você fez as ligações certas. Tente dar um Refresh no seu clientDataset, ou então um close e depois um open. Só uma dica você esta usando applyupdates do clientdataset, certo ?
Um abraço
Wesley Y
Gostei + 0
24/09/2009
Fabiano Araujo
Um Form "Herança" ( PageControl - Uma aba de pesquisa e outra para cadastro )Pesquisa com um grid e um datasource ligados ( dsPesquisa )Page cadastro com um "DBNavigator - Ainda pra teste, depois controlarei com "Meus botões" rs ligada a um DataSource "dsCadastro" Assim padronizando as pesquisas e os cadastros
E criei um form para usuarios ( pegando o form de Herança - inherited ) Nesse form coloquei os DBEdits, digitei os nomes dos campos da tabela "usuarios" - e os liguei as dsCadastroe ao criar o Form eu Ligo o DsCadastro dele ao CDSUsuarios do DataModuleFica tudo habilitado para "incluir" e depois que incluo registro, posso exclui-lo edita-lo etc.Porem "visualizo" digamos assim, somente esse registro q. acabei de cadastrar, os outros não aparecem ( o que estão cadastrados na tabela ), uso os botões Next - last etc é como se não tivesses cadastrados ou cadastrado apenas o que acabei de cadastrar ( se cadastrar algum - se não cadastrar nenhum fica sem nenhum registro )
Na aba pesquisa - faço as pesquisas normais, retorno tudo pra mim certinho ( claro q. aqui uso consultas sql que pego as funções da AppServerPreciso que retorne os dados, pra qdo fizer a pesquisa, eu posso alterar o registro, excluir, assim apenas busco no CDSUsuario pelo ID da Pesquisa
Não sei se fui claro, se não fui me diga que tento explicar melhor.Sem mais,Fabiano Araujo
Gostei + 0
24/09/2009
Fabiano Araujo
Um Form "Herança" ( PageControl - Uma aba de pesquisa e outra para cadastro )Pesquisa com um grid e um datasource ligados ( dsPesquisa )Page cadastro com um "DBNavigator - Ainda pra teste, depois controlarei com "Meus botões" rs ligada a um DataSource "dsCadastro" Assim padronizando as pesquisas e os cadastros
E criei um form para usuarios ( pegando o form de Herança - inherited ) Nesse form coloquei os DBEdits, digitei os nomes dos campos da tabela "usuarios" - e os liguei as dsCadastroe ao criar o Form eu Ligo o DsCadastro dele ao CDSUsuarios do DataModuleFica tudo habilitado para "incluir" e depois que incluo registro, posso exclui-lo edita-lo etc.Porem "visualizo" digamos assim, somente esse registro q. acabei de cadastrar, os outros não aparecem ( o que estão cadastrados na tabela ), uso os botões Next - last etc é como se não tivesses cadastrados ou cadastrado apenas o que acabei de cadastrar ( se cadastrar algum - se não cadastrar nenhum fica sem nenhum registro )
Na aba pesquisa - faço as pesquisas normais, retorno tudo pra mim certinho ( claro q. aqui uso consultas sql que pego as funções da AppServerPreciso que retorne os dados, pra qdo fizer a pesquisa, eu posso alterar o registro, excluir, assim apenas busco no CDSUsuario pelo ID da Pesquisa
Não sei se fui claro, se não fui me diga que tento explicar melhor.Sem mais,Fabiano Araujo
Gostei + 0
24/09/2009
Wesley Yamazack
Me mande os fontes do teu projeto, para poder analisar, se possivel um pequeno exemplo, seria mais fácil, com a mesma estrututa que você tem no teu projeto, ou então o projeto todo, so me diga qual banco e versão do delphi você usa, se usar componentes de terceiros me avise também.
Uma pergunta, quando você grava, o registro vai pro teu banco de dados ? Ou não vai ?
Abraço
Wesley Y
Gostei + 0
24/09/2009
Fabiano Araujo
O Projeto ainda é inicial, só tem a tela de cadastro de usuários, mas a partir dele q. vou iniciar de verdade, segue o link:Código Fonte:http://video.devmedia.com.br/discovirtual/189731/sistema.zipBanco de Dados:http://video.devmedia.com.br/discovirtual/189731/dados.zip
Delphi 2009FirebirdComponentes (JEDI-VCL ) http://jvcl.delphi-jedi.org/E o DBX4 driver que esta na revista 107 Clube delphi( http://downloads.embarcadero.com/free/delphi )
Gostei + 0
24/09/2009
Fabiano Araujo
Gostei + 0
25/09/2009
Wesley Yamazack
Estou analisando o teu código, e logo retornarei.
Att,
Wesley Y
Gostei + 0
28/09/2009
Fabiano Araujo
Gostei + 0
28/09/2009
Rodrigo Mourão
Meu nome é Rodrigo Carreiro.
Apartir de agora estarei lhe auxiliando neste chamado. O Wesley me adiantou o problema, testou o projeto e a principaio nao há problema.
vou analisar e lhe retono.
Abs!!
Gostei + 0
28/09/2009
Fabiano Araujo
Gostei + 0
29/09/2009
Fabiano Araujo
Gostei + 0
30/09/2009
Rodrigo Mourão
Bem isso pode ter ate resolvido o seu problema especificamente, mas nas minhas aplicacoes estão todos como CTQuery e funciona normalmente. O problema nao está ai. A demora se justifica pelo fato de termos que testar sua aplicacao. Nós na consultoria estamos aqui para resolver os problemas, mas resolver de verdade. Saber o pq do erro.
Quanto a usar CtTable e comparação a Query isso vai depender do seu commmand Text. Se vc faz Select * from Cliente e usar o data set com ctTable na tabela cliente entao nao faria diferança.
Peço que aguarde enquanto terminamos de ralizar os testes !!!
Abs!
Gostei + 0
30/09/2009
Rodrigo Mourão
select ID, ID_LOJA, ID_NIVEL, NOME, LOGIN, SENHA, ADM
from USUARIOS
where
USUARIOS.ID = :ID
Com isso vc insere nornalmente mas eu nao vi so seu codigo o momento onde voce remove este parametro. Se isso nao ocorrer ele semrpe vai trazer penas um pois e isso que vc colocou no select. Se a sua intencao e limitar o trafego na rede o caminho nao seira esse (na minha humilde opiniao).
Use a propriedade Packet Records no ClientDataSet. Veja mais nesta video de minha autoria:
https://www.devmedia.com.br/articles/viewcomp.asp?comp=11500
CAso nao tenha acesso a video nos informe para que possamos liberá-la.
Abs!!
Gostei + 0
30/09/2009
Fabiano Araujo
vlw
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)