Inserir, alterar e excluir com DataSnap

Delphi

20/10/2012

Olá galera, sou novo por aqui, e iniciante em Delphi, e gostaria da ajuda de vcs.. Eu tenho lido bastante sobre DataSnap, configuração do Servidor e tantas outras coisas, mas eu gostaria de saber como implementar as sqls para inserir, alterar, excluir através do datasnap. Tipo se tivesse uma tabela Cliente(Nome, endereco, telefone), como eu faria pra pegar esses dados de uma tela com dbedits e atualizar na tabela com clientDataSet. Como eu implemento uma classe? Desculpe minha ignorância, mas é que estou com umas dúvidas a respeito disso.
Jaimar Soares

Jaimar Soares

Curtidas 0

Respostas

Gilvanio Gonçalves

Gilvanio Gonçalves

20/10/2012

Olá galera, sou novo por aqui, e iniciante em Delphi, e gostaria da ajuda de vcs.. Eu tenho lido bastante sobre DataSnap, configuração do Servidor e tantas outras coisas, mas eu gostaria de saber como implementar as sqls para inserir, alterar, excluir através do datasnap. Tipo se tivesse uma tabela Cliente(Nome, endereco, telefone), como eu faria pra pegar esses dados de uma tela com dbedits e atualizar na tabela com clientDataSet. Como eu implemento uma classe? Desculpe minha ignorância, mas é que estou com umas dúvidas a respeito disso.


Amigo como suas duvidas São muitas achei por melhor de passar um link de um tutorial, sobre aplicação multicamadas,(dataSnap), pois entrar em detalhes com vc aqui no forum poderá ser uma explicação longa com exemplos tornando se um tutorial aqui no seu post.

link:

http://imasters.com.br/artigo/4705/banco-de-dados/aplicacao-multi-camadas-parte-03-final
acredito que reslverá suas duvidas.

at+
GOSTEI 0
Marco Salles

Marco Salles

20/10/2012

Em uma arquitetura RAD , Delphi for Delphi , os selects efetuados no Servidor são executados via Provider
de modo que um simples close open no clientdaset no Cliente ja dispara uma instrução Select * From Tabela no
servidor . Do mesmo modo uma instrução ClientDataSet.ApplyUpdates() efetua o commit dos dados onde o delta e trafegado
via as duas aplicações .
Mas DataSnap vai além de Delphi for Delphi e portanto conceitualmente é bem mais amplo e portanto ha muitas formas de
trafegar Dados e também utilizando protcolos diferentes . O Amigo anterior disse certo ao lhe passar um artigo , de fato
são muita as dúvidas .

[]sds
GOSTEI 0
Jaimar Soares

Jaimar Soares

20/10/2012

Aos dois amigos que responderam a esse topico eu agradeço.. Agradeço pela explicação, e pelo artigo que me foi passado tbm como um exemplo... Eu até entendo as diversas formas de se trabalhar com o datasnap, o que eu queria seria apenas o exemplo de uma classe com insert, update e delete para que eu pudesse entender como funciona e como eu faria para passar os valores do ClientDataSet para esses métodos dessa classe. Se alguém tiver algum exemplo, simples, só mesmo para eu entender como criar uma classe assim, eu agradeço... =)
GOSTEI 0
Gilvanio Gonçalves

Gilvanio Gonçalves

20/10/2012

Aos dois amigos que responderam a esse topico eu agradeço.. Agradeço pela explicação, e pelo artigo que me foi passado tbm como um exemplo... Eu até entendo as diversas formas de se trabalhar com o datasnap, o que eu queria seria apenas o exemplo de uma classe com insert, update e delete para que eu pudesse entender como funciona e como eu faria para passar os valores do ClientDataSet para esses métodos dessa classe. Se alguém tiver algum exemplo, simples, só mesmo para eu entender como criar uma classe assim, eu agradeço... =)



acredito que neste links tem material o bastante para vc usar conforme vc precisa.

[url]https://www.devmedia.com.br/curso-de-dbexpress-e-datasnap-parte-iii/1186[/url]

http://www.ramosdainformatica.com.br/ser_notrectodas.php?DTN=01062005
GOSTEI 0
Gilvanio Gonçalves

Gilvanio Gonçalves

20/10/2012

Aos dois amigos que responderam a esse topico eu agradeço.. Agradeço pela explicação, e pelo artigo que me foi passado tbm como um exemplo... Eu até entendo as diversas formas de se trabalhar com o datasnap, o que eu queria seria apenas o exemplo de uma classe com insert, update e delete para que eu pudesse entender como funciona e como eu faria para passar os valores do ClientDataSet para esses métodos dessa classe. Se alguém tiver algum exemplo, simples, só mesmo para eu entender como criar uma classe assim, eu agradeço... =)



acredito que neste links tem material o bastante para vc usar conforme vc precisa.



[url]https://www.devmedia.com.br/curso-de-dbexpress-e-datasnap-parte-iii/1186[/url]

http://www.ramosdainformatica.com.br/ser_notrectodas.php?DTN=01062005

http://marcosalles.wordpress.com/page/5/

http://www.arena.net.au/embt/edn/Delphi_2010_WP_DataSnap_091016.pdf

At+
GOSTEI 0
Alisson Santos

Alisson Santos

20/10/2012

Gostaria de saber se o material que foi passado auxiliou você ou vai auxiliar??
GOSTEI 0
Jaimar Soares

Jaimar Soares

20/10/2012

Poxa galera, desculpa a demora pra responder, mas eu estava estudando bastante sobre esse material que foi passado, tbm pesquisei mais um pouco e encontrei um código que o amigo Marcos Salles ajudou a desenvolver em um outro tópico aqui no forum,([url] https://www.devmedia.com.br/forum/transacoes-em-um-servidor-datasnap-em-conjunto-com-operacoes-com-clientdatasets/404352[/url] ), me ajudou bastante, era sobre isso mesmo que eu estava querendo... Só que ainda tenho algumas duvidas, pois não estou conseguindo passar o delta do clientdataset como parametro para a função no servidor, e se eu passar e criar um clientdataset dinâmico, como eu passo esse delta para esse novo clientdataset que foi criado? Como posso fazer isso de forma simples? Eu estou com essas duvidas, e agradeço a colaboração de todos que tem me ajudado aqui, está sendo muito bom e todos os links passados pelo Gilvanio e as explicações do Marcos Salles me ajudaram bastante a entender mais sobre datasnap. :)
GOSTEI 0
Marco Salles

Marco Salles

20/10/2012

Poxa galera, desculpa a demora pra responder, mas eu estava estudando bastante sobre esse material que foi passado, tbm pesquisei mais um pouco e encontrei um código que o amigo Marcos Salles ajudou a desenvolver em um outro tópico aqui no forum,([url] https://www.devmedia.com.br/forum/transacoes-em-um-servidor-datasnap-em-conjunto-com-operacoes-com-clientdatasets/404352[/url] ), me ajudou bastante, era sobre isso mesmo que eu estava querendo... Só que ainda tenho algumas duvidas, pois não estou conseguindo passar o delta do clientdataset como parametro para a função no servidor, e se eu passar e criar um clientdataset dinâmico, como eu passo esse delta para esse novo clientdataset que foi criado? Como posso fazer isso de forma simples? Eu estou com essas duvidas, e agradeço a colaboração de todos que tem me ajudado aqui, está sendo muito bom e todos os links passados pelo Gilvanio e as explicações do Marcos Salles me ajudaram bastante a entender mais sobre datasnap. :)


Bom dia Jaimar Soares. Este tópico que vc esta se referindo , não é a regra quando se utiliza o DataSnap . Digamos que seje a exceção . Não pode ser encarado com sendo o modo c usual de aplicar atualizações de Inserte/delete/Update do cliente no sevidor . Este exemplo nascei como vc mesmo disse de um tópico aqui do forum , pq o PEDRO propos algo parecido com a arquitetura do RemObjects SDK , e que não tinha visto ate então nada para o Delphi . Pois bem foi desnvoldido então uma classe que aplica o atualizaões d cliente para serem resolvidas no servidor.

O segundo passo , foi não utilizar OleVariant , por ser uma estrutura maos pessada em termos de memória e limitado a client/Servidor Delphi . Passmos então a utilizar JSON (tem uma série de artigos sobre estas transferencia via Json)

em um desses artigos o Nelson Lima que virou inclusive amigo pessoal , propos no tópico
http://marcosalles.wordpress.com/2011/07/15/json-applyupdate-aplicacao-de-atualizacoes-para-mais-de-um-clientdataset-em-uma-unica-transacao-com-datasnap-parte-iic/
um questionamento que eu estava passando o XmlData(todos os Dados) e não o delta(Somente os modificados) para o servidor . Este ponto levantou a um terceiro artigo que performatizou a série de artigos e se encontra em
http://marcosalles.wordpress.com/?s=xmldelta

O que quero concluir com isto é o seguinte . Não entenda esses links como merchandising da minha parte . Nem os comentei no inicio por achar que eles não se aplicam no que vc estava precisando . Foi o amigo Gilvanio que gentimente os indicou e calhou de vc pesquisar e os encontrarem aqui no forum da DevMédia . O Fato que particularmente acho um pouco mais avançado para que esta inicilizando no assunto . Porém se vc quiser seguir nesta direção estarei aqui para tentar lhe ajudar e se quiser fazer de modo tradicional , basta dar um applyudates no proprio cds co Cliente que toda á mágica acontece

[]sds


GOSTEI 0
Jaimar Soares

Jaimar Soares

20/10/2012

Agradeço a todos que contribuiram aqui nos posts.. Eu estava querendo saber a respeito disso mesmo.. Agradeço tbm a vc Marco, pela sua boa vontade de compartilhar, com a gente que está começando e que tem muitas duvidas, seus conhecimentos. Consegui entender essas minhas duvidas, estudando seus codigos.

Obrigado a todos que me ajudaram.
GOSTEI 0
Marco Salles

Marco Salles

20/10/2012

Agradeço o feedback Jamir Soares . Estamos juntos nesta empreitada .

Vejo que vc é de sapucai se não me engano é perto da minha cidade , não é isto ?

[]sds e um abraço amigo
GOSTEI 0
Jaimar Soares

Jaimar Soares

20/10/2012

Vlw Marco, seu conhecimento tem ajudado bastante.. hehe
Sapucaia é bem pertinho, deve dar umas duas horas de viagem.
Somos quase vizinhos... kkkk

abç ae.
GOSTEI 0
Marco Salles

Marco Salles

20/10/2012

Ha sim , passo ai quando vou para a Praia

È pq por aqui tb tem uma sapucaia . Mas so agora vi que a sua é estado do rio

de fato Somos quase vizinhos... kkkk

[]sds
GOSTEI 0
POSTAR