Fórum Bugs e Bugs Delphi 2005 ! Comparametros em tempo de exec. #291124
08/08/2005
0
Estou muito frustrado com o Delphi 2005, COMPREI e instalei a versão 2005 Professional. Passei a compilar meus sistemas na nova versão como estava acostumado a fazer no Delphi 7 , apos algumas verificação só tive dor de cabeça problemas com o Firebird nas mascaras do sistema e graças ao forum foi resolvido, quando comecei a querer gostar do produto , me deparo com outro bug varias rotinas em meu sistema que esta funcionando perfeitamente quando copilado no Delphi 7 param de funcionar... Sem explicação.
Estou com todas atualizações instaladas.
Veja o codigo que não funciona no Delphi 2005:
dm.cdspreco.Close;
dm.qrypreco.close;
With dm.qrypreco Do
Begin
try
sql.clear;
sql.add(´Select produto.* From produto´);
case Rgbpesquisa.itemindex of
0: begin
sql.add(´where codproduto =´+ (edtpesquisa.text));
sql.Add(´Order by codproduto´);
end;
1: begin
if edtpesquisa.text <> ´´ then
begin
case Radiotipo.itemindex of
0: begin
sql.Add(´where descprod like :produto´);
params.ParamByName(´produto´).AsString:=Edtpesquisa.text+´¬´;
sql.Add(´Order by descprod´);
end;
1: begin
sql.Add(´where descprod like :produto´);
params.ParamByName(´produto´).AsString:=´¬´+Edtpesquisa.text+´¬´;
sql.Add(´Order by descprod´);
end;
2: begin
sql.Add(´where descprod like :produto´);
params.ParamByName(´produto´).AsString:=´¬´+Edtpesquisa.text;
sql.Add(´Order by descprod´);
end;
end;
end;
end;
2: begin
sql.Add(´where referencia like :REFERENCIA´);
params.ParamByName(´REFERENCIA´).AsString:=Edtpesquisa.text+´¬´;
sql.Add(´Order by referencia´);
end;
3: begin
sql.Add(´where marca like :Marca´);
params.ParamByName(´Marca´).AsString:=Edtpesquisa.text+´¬´;
sql.Add(´Order by marca´);
end; end;
dm.cdspreco.Open;
except
showmessage(´Conteúdo invalido para pesquisa!´);
end;
end;
Passo o código em tempo de execução por isto coloquei a sql junto com o código Delphi.
Realmente quando resolvo sair da Pirataria sofro tantas decepções e muito triste isto.
Desde já agradeço a atenção de todos.
Hugo Fabrício
Hugofab
Curtir tópico
+ 0Posts
09/08/2005
Hugofab
Vou explicar melhor meu problema com o Delphi 2005,
dm.cdspreco.Close;
With dm.qrypreco Do
sql.add(´Select produto.* From produto´);
sql.Add(´where descprod like :produto´);
params.ParamByName(´produto´).AsString:=Edtpesquisa.text+´¬´;
sql.Add(´Order by descprod´);
end;
dm.cdspreco.open;
Quando executo a primeira vez funciona, da segunda em diante não aceita o parâmetro continuando assumir o parâmetro passado na primeira consulta.
Estou usando esta consulta nos meus sistemas em Delphi 7 e funciona perfeitamente , já quando compilo no Delphi 2005 da este problema.
Se alguém puder me ajudar agradeço.
Gostei + 0
09/08/2005
Massuda
Gostei + 0
12/08/2005
Hugofab
Gostei + 0
12/08/2005
Bon Jovi
dm.cdspreco.Close;
dm.qrypreco.sql.[b:e02feb741f]Clear[/b:e02feb741f];
dm.qrypreco.sql.add(´Select produto.* From produto´);
dm.qrypreco.sql.Add(´where descprod like :produto´);
dm.qrypreco.sql.Add(´Order by descprod´);
dm.[b:e02feb741f]cdsPreco[/b:e02feb741f].params.ParamByName(´produto´).AsString := Edtpesquisa.text + ´¬´;
dm.cdspreco.open;
Gostei + 0
13/08/2005
Hugofab
Já tinha feito alguns testes e percebi que se passasse o parâmetro para o Clientdataset não dava problemas, mas pense tenho um sistema inteiro feito desta forma vai ter que recodificar todo só para mudar de versão?
Meio complicado!
Pois no Delphi 7 estava tendo o resultado desejado.
Obrigado pela atenção
Hugo Fabrício
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)