Re: Datasnap Firedac Delphi Xe5 Serial Number

0 views
Skip to first unread message
Message has been deleted

Annice Hemmerling

unread,
Jul 15, 2024, 4:07:27 PM7/15/24
to whistbundstannet

Estamos iniciando os estudos sobre DataSnap e FireDAC e gostaria de saber como o pessoal anda fazendo...
Vi um exemplo no curso da DevMedia FireDAC ministrado pelo Guinther Pauli, onde o lado servidor com FireDAC
(FDConnection, FDQuery, DataSetProvider) e o lado cliente com DbExpress/Datasnap Client (SQLConnection,
DSProviderConnection, ClientDataSet). Essa a forma mais correta de se trabalhar?

At consegui conectar um FDConnection no lado cliente com o FDConnection do servidor, mais no consegui usar o FDQuery,
da erro "Dbx.SQL is an unrecognized command type"... Existe alguma forma pra isso (usar SQL direto no FDQuery no cliente)?

datasnap firedac delphi xe5 serial number


DOWNLOAD https://tweeat.com/2yLDRu



Primeiro respondendo suas perguntas:
... Essa a forma mais correta de se trabalhar?
R. A duas formas esto corretas, apesar ser possvel usar somente o FireDac no Server e no Client.

... Existe alguma forma pra isso (usar SQL direto no FDQuery no cliente)?
R. No uma boa prtica utilizar comandos SQL no lado Client, datasnap se torna bem mais interessante quando o Client no necessita saber a estrutura das tabelas.

fiz um pequeno exemplo de como utilizar FireDac no Server e no Client, executando funo do Server e retornando o valor para o Client e
tambm a listagem de registros de uma tabela sem uso de SQL no Client.

Esse curso do Guinter Pauli recente? Pergunto isso, porque vi um curso dele tambm com DataSnap em verses mais antigas do Delphi. At usei como base para alguns projetos. Mas nas verses mais novas do Delphi, o REST com JSON foi muito melhorado e simples de implementar e entender. E o melhor de tudo o resultado final (rapido, estvel).

Na aplicao do servidor criei minha conexo com o bando de dados e coloquei uma query. na properties de params criei um param sem nome, do tipo string e vazio. ainda na query em events "BeforeOpen" coloquei da seguinte forma

criei um clientdataset e em Params criei um Param idntico ao da query no meu servidor, porem agora estou passando o SQL pelo Param que criei. assim quando eu dou open no clientdataset ele me retorna o resultado da consulta usando o SQL que passei por Param.

Estou tentando criar um servidor com firedac e os clientes com datasnap dbx. Tudo funciona perfeitamente. O nico problema quando tento enviar um comando sql para apagar registros via clientdataset. Segue o exemplo:

No acontece o esperado, ou seja, no apagou o registro correspondente. Somente apagou o registro quando eu fechei a aplicao. Minha pergunta : Existe alguma outra forma de resolver esse problema utilizando algum outro componente Firedac ou somente se eu mudar toda minha estrutura cliente?

Faltou o Commit, por isso s funcionou aps fechar o sistema, vc no commitou o dado ele s foi commitado aps o fechamento da app, realize o commit aps qualquer alterao de dados, crie uma transao e sempre commite ou de o rollback, mais a transao altamente necessrio.

Galera, desculpe minha ignorncia mas procurei vrios exemplos no google para fazer esse mtodo e no consegui achar nada que se enquadre em minha estrutura DataSnap (Firedac no servidor e DBX no cliente). Algum a tem alguma idia ou um exemplo de como consigo fazer esse mtodo?

7fc3f7cf58
Reply all
Reply to author
Forward
0 new messages