Fórum É possível isso? (RemoteDataModule) #342854
20/06/2007
0
Um dos procedimentos que eu estou tentando fazer é o seguinte:
Eu tenho uma SQLDataSet (DbExpress) ligado a um DataSetProvider dentro do meu RemoteDataModule com um consulta com vários parâmetros, eu criei um método onde eu passo os parâmetros para essa consulta que da um CLOSE passa os PARAMETROS e da um OPEN na mesma.
Na aplicação cliente eu passo os parâmetros para a minha aplicação servidora que irá passar os parâmetros para o meu SQLDataSet que irá disparar o método. Só que quando dou um OPEN dentro do RemoteDataModule aparece a seguinte mensagem :
´0x0005]: Operation Not Supported.´
Então a minha pergunta é a seguinte se é possível fazer isso que eu estou tentando? Se é como eu deveria fazer para não ocorrer o erro acima?
Vitor Alcantara
Curtir tópico
+ 0Posts
20/06/2007
Paullsoftware
Gostei + 0
20/06/2007
Vitor Alcantara
{Consulta dos produtos da saída pelo código da venda}
function TClasseListSaida.DetalhaSaida(var CODSAIDA: OleVariant): OleVariant;
var
e:Exception;
begin
Try
With SQLSaidaItensCodSaida do
Begin
Close;
ParamByName(´CODSAI´).AsInteger := CODSAIDA;
Open;//Trecho onde o erro é retornado
end;
result := SQLSaidaItensCodSaida.RecordCount;
Except
on e:Exception do
begin
result := -1;
raise Exception.Create(e.Message );
end;
end;
end;No exemplo acima eu tenho um SqlDataSet (que está ligado a um DataSetProvider) de consulta aos itens de uma saída pelo código da saída.
O que eu quero fazer é com que a aplicação cliente envie apenas o parametro ( no caso ´CODSAIDA´) e a aplicação servidora faça a consulta retornando apenas os dados para a aplicação cliente.
O ambiente na aplicação cliente é o seguinte eu tenho um ClientDataSet ligado a um TSharedConnection (Que por sua vês está conectado a um TSocketConnection) ligado ao DataSetProvider descrito acima.
Eu estou fazendo a chamada do método do seguinte modo.
begin CdsDetSaida.Close;//Fecho o dataSet if SharedConnection1.AppServer.DetalhaSaida(1) > -1 then //Eu quero mostrar os itens da saída 1 CdsDetSaida.Open; //Se tudo ocorreu bem eu abro o dataset end;
Gostei + 0
20/06/2007
Paullsoftware
n sei se muda muito em relação ao BSS, tenta chamar o metodo sem usar paramentros pra ver se ocorre o mesmo erro! :wink:
Gostei + 0
21/06/2007
Vitor Alcantara
Mais eu desisti de fazer do modo que eu estava fazendo (pois me compliquei todo), e deixei nos RemoteDataModules apenas os procedimentos que não retornavam registros, tipo excluir registro, algum insert .....
A parte que retorna os registros eu estou implementando em um conjunto de datamodules onde eu estou colocando toda as regras necessárias neles, separando-os por módulos (Cadastros clientes, PDV, Listagem saida, Listagem entradas.....) onde cada módulo é um datamodule onde eu estou tentando colocar toda a regra (comportamento dos edits, calculos ....) deixando tudo pronto. Assim (se de certo eu espero) quando pronto eu vou precisar apenas desenhar os forms e linkar os controles com os módulos.
Gostei + 0
27/06/2007
Brunolspp
no meu link de dopwnloads gratuitos, tem o exemplo do borcon 2006 que implementa como exemplo, uma miniatura de meus sistemas de missao critica e multuicamadas com funcoes remotas e tudo mais que é necessário.
Vale a pena olhar
Gostei + 0
27/06/2007
Vitor Alcantara
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)