SQL que não funciona ! Porque ?
var
n_codfil:integer;
s_descid:string;
n_codcid:integer;
begin
dm_monitora.Tabcid.First;
while not dm_monitora.Tabcid.Eof do
begin
n_codfil:=dm_monitora.TabcidCOD_FIL.Value;
n_codcid:=dm_monitora.TabcidCOD_CID.value;
s_descid:=dm_monitora.TabcidDESC_CID.Value;
with dm_monitora.Qryteste do
begin
sql.clear;
close;
sql.Add(´update cliente´);
sql.add(´set cliente.cod_fil=(select distinct cod_fil from filial,cidade where cidade.cod_cid= :codcid and filial.cod_fil= :codfil and filial.cod_fil=cidade.cod_fil )´);
sql.Add(´where cliente.cid_clien= :desccid´);
ParamByName(´codfil´).asinteger:=n_codfil;
parambyname(´codfil´).AsInteger:=n_codcid;
parambyname(´desccid´).AsString:=trim(s_descid);
execsql;
update;
end;
dm_monitora.Tabcid.next;
end;
DM_monitora.IBTransaction.Commit;
end;
quero reconhecer qual cliente pertence a qual filial ...
no ibconsole funciona como o esperado porem quando faço no delphi não !
no ibconsole substitui por valores que serão inseridos no delphi atraves do while... no caso do codfil = 1 , codcid=1 , descid=´GOIANIA´ (sem espaços) não funciona... por que ?
não dá erro... apenas não atualiza.. uso o ibx no final note que uso o ibtransaction.commit para gravar .... seria isto ?
n_codfil:integer;
s_descid:string;
n_codcid:integer;
begin
dm_monitora.Tabcid.First;
while not dm_monitora.Tabcid.Eof do
begin
n_codfil:=dm_monitora.TabcidCOD_FIL.Value;
n_codcid:=dm_monitora.TabcidCOD_CID.value;
s_descid:=dm_monitora.TabcidDESC_CID.Value;
with dm_monitora.Qryteste do
begin
sql.clear;
close;
sql.Add(´update cliente´);
sql.add(´set cliente.cod_fil=(select distinct cod_fil from filial,cidade where cidade.cod_cid= :codcid and filial.cod_fil= :codfil and filial.cod_fil=cidade.cod_fil )´);
sql.Add(´where cliente.cid_clien= :desccid´);
ParamByName(´codfil´).asinteger:=n_codfil;
parambyname(´codfil´).AsInteger:=n_codcid;
parambyname(´desccid´).AsString:=trim(s_descid);
execsql;
update;
end;
dm_monitora.Tabcid.next;
end;
DM_monitora.IBTransaction.Commit;
end;
quero reconhecer qual cliente pertence a qual filial ...
no ibconsole funciona como o esperado porem quando faço no delphi não !
no ibconsole substitui por valores que serão inseridos no delphi atraves do while... no caso do codfil = 1 , codcid=1 , descid=´GOIANIA´ (sem espaços) não funciona... por que ?
não dá erro... apenas não atualiza.. uso o ibx no final note que uso o ibtransaction.commit para gravar .... seria isto ?
Midas
Curtidas 0
Respostas
Midas
16/07/2003
já descobri passei o parametro errado
onde era para ser codcid passei codfil duas vezes
onde era para ser codcid passei codfil duas vezes
GOSTEI 0