StoredProc do zeus como usar

Delphi

25/05/2012

Olá...
Uso o Delphi 7.0 e preciso opter uns valores de uma Procedure no MySQL.

para obter os valeres da Procedure no Delphi estou fazendo o seguinte:

with zqr do begin // zqr é do tipo TZQuery
SQL.Clear;
SQL.Add(CALL sp_totalizadorcx+sFilial+(:nrocx, @din, @car, @chq));
ParamByName(nrocx).AsInteger := opCXcd;
ExecSQL;

SQL.Clear;
SQL.Add(select @din, @car, @chq);
Open;

ValorDin.Value := FieldByName(@din).AsFloat;
ValorCar.Value := FieldByName(@car).AsFloat;
ValorChe.Value := FieldByName(@chq).AsFloat;
end;

COMO FAÇO PARA utilizar o Componente StoredProc do ZEUS???
Vagner Almeida

Vagner Almeida

Curtidas 0

Respostas

Joel Rodrigues

Joel Rodrigues

25/05/2012

Funciona semelhante à Query, só que você já tem maior controle sobre os parâmetros. Indique, no componente, qual procedure você vai usar e os parâmetros devem ser reconhecidos automaticamente (inclusive como input ou output). Então basta passar os valores e chamar o método ExecProc.

Tenta aí, vamos resolver mais esta.
GOSTEI 0
Vagner Almeida

Vagner Almeida

25/05/2012

Já utilizei o IBStoredProc, mas para o firebird. É tranquilo.
Mas não funciona do mesmo jeito no MySQL.
Fica apresentando a mensagem de operação não permitida.

Tentei de duas formas, Open e ExecProc. Ambas apresentaram a mesma mensagem.
A questão/problema certamente está na passagem dos parâmetros.

zsp.StoredProcName := sp_totalizadorcx;
zsp.ParamByName(nrocx).AsInteger := NroCx;
zsp.Open; / zsp.ExecProc;

Lembrando que são 4 parâmetros 1 de entrada (numero do caixa) e 3 de saída (valorDin, ValorCar, ValorChe).
GOSTEI 0
Joel Rodrigues

Joel Rodrigues

25/05/2012

Dá uma olhada nesse tópico de fórum, o cara usa um código aí bem explicativo: http://www.delphipraxis.net/151048-stored-procedure-via-zeos-auf-mysql.html
GOSTEI 0
Vagner Almeida

Vagner Almeida

25/05/2012

Valeu, vou testar. Qualquer coisa Aviso novamente neste post
GOSTEI 0
POSTAR