thalesoli 0 Denunciar post Postado Setembro 23, 2007 Boa tarde pessoal Estou começando o estudo de programação 3 camadas e me deparei com uma dúvida. Nas minhas aplicações client-server eu geralmente monto telas nas quais o cliente tem várias opções de pesquisa (codigo, nome, data), e eu mudo o sql em tempo de execução. Mas em aplicação 3 camadas a aplicação do cliente não vê as query e não pode mudar. Tentei criar um método que recebe um parâmetro e que muda o sql dentro de uma lista. O método até muda, mas o client não sobre variações de retorno, pois sempre é retornado o sql padrão. como posso resolver isso? se alguém tiver uma apostila ou um livro a me indicar fico agradeço desde já agradeço http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Setembro 24, 2007 Mas não teria como você passar por parâmetros o que deseja de filtro ?Nunca trabalhei muito afundo com 3 camadas em delphi... :mellow: Compartilhar este post Link para o post Compartilhar em outros sites
thalesoli 0 Denunciar post Postado Setembro 25, 2007 Boa tarde Marcio Primeiramente obrigado por responder ao meu tópico Bom, eu precisava que fosse dessa maneira pois a condição é totalmente diferente para cada tipo de busca. A única maneira que eu vejo, sem ser por mudar a condição dinamicamente seria assim: select *from clientewhere (:TIPOBUSCA='A' AND CODIGO = :CODIGO) OR (:TIPOBUSCA='B' AND NOME LIKE :NOME)ORDER BY NOME estou certo? você conhece algum livro bom de 3 camadas? desde já agradeço http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Compartilhar este post Link para o post Compartilhar em outros sites
Rodrigo Miss 1 Denunciar post Postado Setembro 25, 2007 E ae beleza Thales ?Qual tecnologia você está usando?Poderia disponibilizar o codigo inteiro do seu método ?Eu tbm entendo pouco de Multi-camadas, mais talvez possa lhe ajudar ... Compartilhar este post Link para o post Compartilhar em outros sites
thalesoli 0 Denunciar post Postado Setembro 25, 2007 Ola Rodrigo o método q estou fazendo é simples procedure TTeste.MudaBusca(Modelo: Integer);begin case Modelo of 0: query.sql.text := 'select * from cliente where AND CODIGO = :P'; 1: query.sql.text := 'select * from cliente where AND Nome = :P'; end;end; e eu chamo este método após abrir conexão Dcom e só depois eu abro o clientdataset. estou usando o ZeosLib para estes testes desde já agradeço falow http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Compartilhar este post Link para o post Compartilhar em outros sites
Rodrigo Miss 1 Denunciar post Postado Setembro 26, 2007 beleza Thales ... kra! montei um exemplo bem simples aki, testei e esta funcionando perfeitamente ... Tomara q lhe ajude em alguma coisa ... segue o endereço para downloads ... abraços .... www.postosantaclara.com.br/download/ExemploCamadas.rar Compartilhar este post Link para o post Compartilhar em outros sites
thalesoli 0 Denunciar post Postado Setembro 26, 2007 Obrigado Rodrigo vou dar uma olhada falow http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Compartilhar este post Link para o post Compartilhar em outros sites
Rodrigo Miss 1 Denunciar post Postado Setembro 26, 2007 beleza ... espero que realmente lhe ajude! depois poste ai o resultado ... hehe abraço http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
thalesoli 0 Denunciar post Postado Setembro 26, 2007 Rodrigo valeu pela ajuda o q eu tava fazendo de diferente do seu codigo é que eu não abria a query no server, so o clientdataset. falow http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Compartilhar este post Link para o post Compartilhar em outros sites
Rodrigo Miss 1 Denunciar post Postado Setembro 26, 2007 Hum ... Q bom q resolveu seu problema kra ... É tm q abrir a qry no server, pq o ClientDataSet recebe apenas uma "copia" da qry vlw aew .. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites