DATASNAP 2009 AJUDA NO INSERT

10/12/2009

1

Pessoal Bom dia, estou desenvolvendo uma aplicação cliente que usa como servidor remoto o datasnap 2009 , e estou tentando executar o seguinte codigo:
Principal.QryGenerico.CommandText:='Insert INTO '+Principal.lbBanco.Caption+'LogSistema (usuario,Nomeusuario,Datahora,Modulo, '+
' Operacao,Ocorrencias,ModuloLogado,EmpresaLogado,Franquia,Versao,Firmware) '+
' Values (:Usuario,:Nomeusuario,:Datahora,:Modulo,:Operacao,:Ocorrencias,:ModuloLogado,:EmpresaLogado,:Franquia,:Versao,:Firmware)';
Principal.QryGenerico.Execute; 
ai ele me gera o erro "Remote Error: DBX Error: ParameterNotSet"
Alguém pode me ajudar nessa dúvida ? Obrigado
Responder

Posts

10/12/2009

Elton Rosa

Principal.QryGenerico.CommandText:='Insert INTO '+Principal.lbBanco.Caption+'LogSistema (usuario,Nomeusuario,Datahora,Modulo, '+
' Operacao,Ocorrencias,ModuloLogado,EmpresaLogado,Franquia,Versao,Firmware) '+
' Values (:Usuario,:Nomeusuario,:Datahora,:Modulo,:Operacao,:Ocorrencias,:ModuloLogado,:EmpresaLogado,:Franquia,:Versao,:Firmware)';
Principal.QryGenerico.Execute;

Caro colega, este erro está aparecendo porque não foram definidos os tipos de dados dos parâmetros na instrução do COMMANDTEXT e nem os respectivos valores dos mesmos. Você deverá fazer assim, antes do EXECUTE:Principal.QryGenerico.Params.ParamByName('Usuario').Datatype := FtString;Principal.QryGenerico.Params.ParamByName('Usuario').asstring := edit1.text (exemplo);

Espero ter lhe ajudado. 

Responder

11/12/2009

Geovane Campos

O ELTON OBRIGADO PELA DICA, ATÉ FIZ O QUE VC ME FALOU MAS AINDA CONTINUA DANDO ESSSE ERRO OLHA O CÓDIGO PRA VC VER COMO FIZ... ABRAÇO ERRO:PARAMETERNOTSET     Principal.QryGenerico.CommandText:='Insert INTO '+Principal.lbBanco.Caption+'LogSistema (usuario,Nomeusuario,Datahora,Modulo, '+
    ' Operacao,Ocorrencias,ModuloLogado,EmpresaLogado,Franquia,Versao,Firmware) '+
    ' Values (:Usuario,:Nomeusuario,:Datahora,:Modulo,:Operacao,:Ocorrencias,:ModuloLogado,:EmpresaLogado,:Franquia,:Versao,:Firmware)';
    Principal.QryGenerico.Params.ParamByName('Usuario').DataType:=ftString;
    Principal.QryGenerico.Params.ParamByName('Usuario').Value    := Principal.QryUsuariosLogado.FieldByName('Sigla').AsString;
    Principal.QryGenerico.Params.ParamByName('Nomeusuario').DataType:=ftstring;
    Principal.QryGenerico.Params.ParamByName('Nomeusuario').Value:= Copy(Principal.QryUsuarioslogado.FieldByName('Nome').AsString,1,30);
    Principal.QryGenerico.Params.ParamByName('Datahora').DataType:=ftDateTime;
    Principal.QryGenerico.Params.ParamByName('Datahora').Value   := now();
    Principal.QryGenerico.Params.ParamByName('Modulo').DataType  :=ftString;
    Principal.QryGenerico.Params.ParamByName('Modulo').Value     := 'Login Sistema';
    Principal.QryGenerico.Params.ParamByName('Operacao').DataType:=ftstring;
    Principal.QryGenerico.Params.ParamByName('Operacao').Value   := 'Login';
    Principal.QryGenerico.Params.ParamByName('ocorrencias').datatype:=ftstring;
    Principal.QryGenerico.Params.ParamByName('Ocorrencias').Value := MensagemLog;
    Principal.QryGenerico.Params.ParamByName('ModuloLogado').datatype:=ftstring;
    Principal.QryGenerico.Params.ParamByName('ModuloLogado').Value := Principal.ModuloAcesso;
    Principal.QryGenerico.Params.ParamByName('EmpresaLogado').datatype:=ftstring;
    Principal.QryGenerico.Params.ParamByName('EmpresaLogado').Value := Principal.EmpresaLogado;
    Principal.QryGenerico.Params.ParamByName('franquia').datatype:=ftstring;
    Principal.QryGenerico.Params.ParamByName('Franquia').Value := Principal.Franquia;
    Principal.QryGenerico.Params.ParamByName('Versao').datatype:=ftstring;
    Principal.QryGenerico.Params.ParamByName('Versao').Value := Principal.Label5.Caption+' '+Principal.Label4.Caption;
    Principal.QryGenerico.Params.ParamByName('firmware').datatype:=ftstring;
    Principal.QryGenerico.Params.ParamByName('Firmware').Value     := Principal.StatusBar1.Panels[4].Text ;
    Principal.QryGenerico.Execute;
Responder