Fórum Função servidor DATASNAP #431474

21/12/2012

0

Pessoal, boa tarde!

Cansei de pesquisar e não achei nada.

Vamos lá...

Montei uma função no meu servidor DATASNAP:
function TsmEmpresa.UpdateEmpresa( nIdEmpresa : Integer; aFields, aValues : OleVariant ) : String;

a Ideia é passar a chave primária (nIdEmpresa) e o restante dos campos e valores para realizar o Update.

O primeiro problema que depois de pesquisa descobri que não pode usar Variant e sim apenas OleVariant. Até ai ok

Porem no meu cliente quando preencho o aValues, tem dentro tipo de campo String e Integer, mas quando coloco campo Integer dá Access Violation, quando utilizo apenas String funciona.

Sabem me dizer o que é?
Lorival Filho

Lorival Filho

Responder

Posts

22/12/2012

Marco Salles

como vc esta fazenso

com query dinamicas ????
Responder

Gostei + 0

26/12/2012

Lorival Filho

Na aplicação cliente eu realizo:

TsmUpdate.ParamByName('nIdEmpresa').AsInteger := cdsCad.FieldByName('IDEMPRESA').AsInteger;
TsmUpdate.ParamByName('aFields').Value := GeraFields(1);
TsmUpdate.ParamByName('aValues').Value := GeraFields(2);
TsmUpdate.ExecuteMethod;

O TsmUpdate é um componente TSqlServerMethod.

Na aplicação servidor eu tenho:
function TsmEmpresa.UpdateEmpresa( nIdEmpresa : Integer; aFields, aValues : OleVariant ) : String;

porém para isolar o problema , ela apenas retorna uma string com 'TESTE'.

O problema ocorre quando chamo:
TsmUpdate.ExecuteMethod

e tem itens em "aValues" com tipo integer, se tenho apenas String funciona.

Não chego a executar nenhuma SQL.
Responder

Gostei + 0

27/12/2012

Daniel Santos

Qual a versão do Delphi?
Responder

Gostei + 0

27/12/2012

Lorival Filho

Delphi XE3
Responder

Gostei + 0

06/02/2013

Lorival Filho

alguém sabe disso? Ainda estou com esse problema.
Responder

Gostei + 0

03/03/2013

José

Amigo guerreiro você conseguiu resolver seu problema ?
Responder

Gostei + 0

18/03/2013

Lorival Filho

não foi resolvido! se utilizo apenas string dentro da OleVariant funciona, se utilizo Integer por exemplo ocorre o problema.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar