Fórum Função servidor DATASNAP #431474
21/12/2012
0
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
Curtir tópico
+ 0Posts
22/12/2012
Marco Salles
com query dinamicas ????
Gostei + 0
26/12/2012
Lorival Filho
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.
Gostei + 0
27/12/2012
Daniel Santos
Gostei + 0
27/12/2012
Lorival Filho
Gostei + 0
06/02/2013
Lorival Filho
Gostei + 0
03/03/2013
José
Gostei + 0
18/03/2013
Lorival Filho
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)