Re: [firebase-br] Parâmetros em SQL
Jairo Sanches
jairosanches em terra.com.br
Qui Ago 17 10:04:49 -03 2006
Qual é a versão de seu Delphi?
Se for Delphi 7, vc tem o update instalado?
Tive alguns problemas com CDS no Delphi 7, mas depois que baixei o Update, o
problema foi sanado.
----- Original Message -----
From: "José Filho (UOL)" <jfilho.bg em uol.com.br>
To: <jeudiprando em gmail.com>; "FireBase" <lista em firebase.com.br>
Sent: Thursday, August 17, 2006 8:47 AM
Subject: Re: [firebase-br] Parâmetros em SQL
Respondendo às observações de todos...
Se o Jorge Luis observar o código que eu enviei abaixo de todo o texto vai
perceber que eu chamei o FetchParams no ClientDataSet.
Quanto à observação do Luis Asensio, acredito que se eu estiver chamando os
parâmetros para o ClientDataSet através do FetchParams, não há nenhum
problema em eu passar os parâmetros para ele.
Segue abaixo o código que estou usando:
1º) Chamo este código no TSQLQuery:
with Dm.qryConsulta do
begin
Close;
SQL.Clear;
SQL.Add('SELECT * FROM USUPERMISSOES');
SQL.Add('WHERE (PER_USUARIO = :PUSUARIO)');
SQL.Add('AND (PER_PROGRAMA = :PPROGRAMA)');
if Operacao = 'M' then
SQL.Add('AND (PER_MENU = ''S'')');
if Operacao = 'I' then
SQL.Add('AND (PER_INCLUI = ''S'')');
if Operacao = 'A' then
SQL.Add('AND (PER_ALTERA = ''S'')');
if Operacao = 'E' then
SQL.Add('AND (PER_EXCLUI = ''S'')');
if Operacao = 'C' then
SQL.Add('AND (PER_CONSULTA = ''S'')');
if Operacao = 'R' then
SQL.Add('AND (PER_RELATORIO = ''S'')');
end;
with Dm.cdsConsulta do
begin
Close;
Params.Clear;
FetchParams;
Params.ParamByName('PUSUARIO').AsString := Usuario;
Params.ParamByName('PPROGRAMA').AsString := Programa;
Open;
end;
2º) Depois chamo este outro:
with qryConsulta.SQL do
begin
Add('SELECT TDOC_CODIGO, UPPER(TDOC_DESCRICAO) AS TDOC_DESCRICAO FROM
TIPODOCTO');
Add('WHERE UPPER(TDOC_DESCRICAO) LIKE :PCONSULTA');
Add('ORDER BY TDOC_DESCRICAO');
end;
with cdsConsulta do
begin
Close;
FieldDefs.Clear;
Params.Clear; {Limpo os parâmetros antes}
FetchParams; {Para depois chamá-los novamente}
Params.ParamByName('PCONSULTA').AsString := Parametro1;
if vFormConsulta = 'CONTASBANCARIAS' then
Params.ParamByName('PBANCO').AsInteger :=
Dm.cdsBancosBCO_CODIGO.AsInteger;
Open;
if vFormConsulta = 'CONTASMOVIMENTO' then
Fields[0].EditMask := '9.99.99.999;0;_';
end;
3º) Quando vou chamar o 1º novamente o programa dá um erro informando que o
parâmetros PUSUARIO não existe.
Espero que tenha ficado mais claro agora.
[ ]'s
José Filho
Barra do Garças-MT
----- Original Message -----
From: "Jeudí Prando" <jeudiprando em gmail.com>
To: "FireBase" <lista em firebase.com.br>
Sent: Wednesday, August 16, 2006 5:09 PM
Subject: Re: [firebase-br] Parâmetros em SQL
talvez os parametros estejam mapiados...
delete os paramatros mapiados e tente novamente...
da um ctrl + c e ctrl + v aqui no email e poste para gente ... para ter
sertreza do que pode ser
boa sorte
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa
Mais detalhes sobre a lista de discussão lista