Required param value not set.

Delphi

09/06/2011

Boa tarde,
estou com uma duvida em meu código,
esta dando o seguinte erro quando passo os parametros do firebird para o delphi,
no evento Clikc de um botão.

'Required param value not set'.

Segue o código:

begin
 with FormPrincipal.IBSMesa do
 try
FormPrincipal.IBTMesa.Open;
FormPrincipal.IBSMesa.StoredProcName := 'SP_TB_MESA_ABRE';
FormPrincipal.IBSMesa.Prepare;
FormPrincipal.IBTMesa.Edit;
FormPrincipal.IBTMesaNUMERO.AsInteger := ParamByName('NUMERO').AsInteger;
FormPrincipal.IBTMesaFUNC_ABRIU.AsInteger := ParamByName('FUNC_ABRIU').AsInteger;
FormPrincipal.IBTMesaGARCON.AsInteger := ParamByName('GARCON').AsInteger;
FormPrincipal.IBTMesaCLIENTE.AsInteger := ParamByName('CLIENTE').AsInteger;
FormPrincipal.IBTMesaQTD_PESSOAS.AsInteger := ParamByName('QTD_PESSOAS').AsInteger;
FormPrincipal.IBTMesaPEDIDO.AsInteger := ParamByName('PEDIDO').AsInteger;
FormPrincipal.IBTMesa.Close;
FormPrincipal.IBTMesa.DisableControls;
FormPrincipal.IBSMesa.ExecProc; // <-- o erro ocorre nesta linha.
 finally
FormPrincipal.IBTMesa.EnableControls;
FormPrincipal.IBTMesa.Open;
FormAbreMesa.close;
end;
end;

//******************************************************************************
procedure firebird

BEGIN
    IF (:NUMERO > 0) THEN
        BEGIN
            UPDATE TB_MESA SET
                   STATUS = 'A',
                   FUNC_ABRIU = :FUNC_ABRIU,
                   GARCON = :GARCON,
                   CLIENTE = :CLIENTE,
                   PEDIDO = :PEDIDO,
                   QTD_PESSOAS = :QTD_PESSOAS,
                   ALTFUNC = :FUNC_ABRIU
                   WHERE NUMERO = :NUMERO;
        END
END
Bruno Santos

Bruno Santos

Curtidas 0

Respostas

Bruno Santos

Bruno Santos

09/06/2011

Boa tarde,
estou com uma duvida em meu código,
esta dando o seguinte erro quando passo os parametros do firebird para o delphi,
no evento Clikc de um botão.

'Required param value not set'.

Segue o código:

begin
 with FormPrincipal.IBSMesa do
 try
FormPrincipal.IBTMesa.Open;
FormPrincipal.IBSMesa.StoredProcName := 'SP_TB_MESA_ABRE';
FormPrincipal.IBSMesa.Prepare;
FormPrincipal.IBTMesa.Edit;
FormPrincipal.IBTMesaNUMERO.AsInteger := ParamByName('NUMERO').AsInteger;
FormPrincipal.IBTMesaFUNC_ABRIU.AsInteger := ParamByName('FUNC_ABRIU').AsInteger;
FormPrincipal.IBTMesaGARCON.AsInteger := ParamByName('GARCON').AsInteger;
FormPrincipal.IBTMesaCLIENTE.AsInteger := ParamByName('CLIENTE').AsInteger;
FormPrincipal.IBTMesaQTD_PESSOAS.AsInteger := ParamByName('QTD_PESSOAS').AsInteger;
FormPrincipal.IBTMesaPEDIDO.AsInteger := ParamByName('PEDIDO').AsInteger;
FormPrincipal.IBTMesa.Close;
FormPrincipal.IBTMesa.DisableControls;
FormPrincipal.IBSMesa.ExecProc; // <-- o erro ocorre nesta linha.
 finally
FormPrincipal.IBTMesa.EnableControls;
FormPrincipal.IBTMesa.Open;
FormAbreMesa.close;
end;
end;

//******************************************************************************
procedure firebird

BEGIN
    IF (:NUMERO > 0) THEN
        BEGIN
            UPDATE TB_MESA SET
                   STATUS = 'A',
                   FUNC_ABRIU = :FUNC_ABRIU,
                   GARCON = :GARCON,
                   CLIENTE = :CLIENTE,
                   PEDIDO = :PEDIDO,
                   QTD_PESSOAS = :QTD_PESSOAS,
                   ALTFUNC = :FUNC_ABRIU
                   WHERE NUMERO = :NUMERO;
        END
END


Bom ja que ninguem pode ajudar,
eu acbei resolvendo mudando a forma que eu passava os parametros.
Segue o código:

begin
 with FormPrincipal.IBSMesa do
 try
FormPrincipal.IBTMesa.Open;
FormPrincipal.IBSMesa.StoredProcName := 'SP_TB_MESA_ABRE';
FormPrincipal.IBSMesa.Prepare;
FormPrincipal.IBTMesa.Edit;
FormPrincipal.IBTMesaSTATUS.AsString := 'A';
FormPrincipal.IBTMesaABERTURA.AsDateTime := Now;
Params.ParamByName('NUMERO').AsInteger := FormPrincipal.IBTMesaNUMERO.AsInteger;
Params.ParamByName('FUNC_ABRIU').AsInteger := FormPrincipal.IBTMesaFUNC_ABRIU.AsInteger;
Params.ParamByName('GARCON').AsInteger := FormPrincipal.IBTMesaGARCON.AsInteger;
Params.ParamByName('CLIENTE').AsInteger := FormPrincipal.IBTMesaCLIENTE.AsInteger;
Params.ParamByName('QTD_PESSOAS').AsInteger := FormPrincipal.IBTMesaQTD_PESSOAS.AsInteger;
Params.ParamByName('PEDIDO').AsInteger := FormPrincipal.IBTMesaPEDIDO.AsInteger;
FormPrincipal.IBSMesa.Prepare;
FormPrincipal.IBSMesa.ExecProc;
 finally
FormPrincipal.IBTMesa.EnableControls;
FormPrincipal.IBTMesa.Open;
FormAbreMesa.close;
end;
end;
GOSTEI 0
POSTAR