SQL que não funciona ! Porque ?
with dm_monitora.ibQrycliente do
begin
sql.Clear;
close;
sql.Add(´select distinct cod_clien Codigo, nome_clien Nome,cpf_clien CPF´);
sql.Add(´from cliente´);
sql.Add(´where cpf_clien= :paramcpf or nome_clien= :paramcpf´);
Params[0].AsString:=editparam.Text;
params[1].asstring:=editparam.Text;
open;
end;
tenho a rotina acima ... e o que acontece é que quando digito mais de 16 digitos no editparam ele dá erro dizendo que a minha variavel suporta apenas 15 digitos... isso ocorre por que meu campo cpf tem tamanho 15 e meu nome 40 ... como faço para fazer uma select em dois campos usando o mesmo dado passado no editparam sem que haja este tipo de erro ?
begin
sql.Clear;
close;
sql.Add(´select distinct cod_clien Codigo, nome_clien Nome,cpf_clien CPF´);
sql.Add(´from cliente´);
sql.Add(´where cpf_clien= :paramcpf or nome_clien= :paramcpf´);
Params[0].AsString:=editparam.Text;
params[1].asstring:=editparam.Text;
open;
end;
tenho a rotina acima ... e o que acontece é que quando digito mais de 16 digitos no editparam ele dá erro dizendo que a minha variavel suporta apenas 15 digitos... isso ocorre por que meu campo cpf tem tamanho 15 e meu nome 40 ... como faço para fazer uma select em dois campos usando o mesmo dado passado no editparam sem que haja este tipo de erro ?
Midas
Curtidas 0
Respostas
Basilio.sp
23/07/2003
Caro midas,
Pra início de conversa, quando você for fazer qualquer tipo de alteração em uma query é aconselhável que a mesma esteja previamente desabilitada.
Com relação ao tamanho dos parametros, com o código alterado como o abaixo, você resolve o problema:
with dm_monitora.ibQrycliente do
begin
close; { Sempre feche ou desative a query antes de alterá-la }
sql.Clear;
sql.Add(´select distinct cod_clien Codigo, nome_clien Nome,cpf_clien CPF´);
sql.Add(´from cliente´);
sql.Add(´where cpf_clien= :paramcpf or nome_clien= :paramcpf´);
Params[0].AsString:=Copy(editparam.Text, 1, 15);
params[1].asstring:=editparam.Text;
open;
end;
Pra início de conversa, quando você for fazer qualquer tipo de alteração em uma query é aconselhável que a mesma esteja previamente desabilitada.
Com relação ao tamanho dos parametros, com o código alterado como o abaixo, você resolve o problema:
with dm_monitora.ibQrycliente do
begin
close; { Sempre feche ou desative a query antes de alterá-la }
sql.Clear;
sql.Add(´select distinct cod_clien Codigo, nome_clien Nome,cpf_clien CPF´);
sql.Add(´from cliente´);
sql.Add(´where cpf_clien= :paramcpf or nome_clien= :paramcpf´);
Params[0].AsString:=Copy(editparam.Text, 1, 15);
params[1].asstring:=editparam.Text;
open;
end;
GOSTEI 0
Midas
23/07/2003
certimmm valeu basilio
GOSTEI 0
Basilio.sp
23/07/2003
Caro midas,
Não há de que. Disponha.
Não há de que. Disponha.
GOSTEI 0