Aonde estou errando ???
Bom Dia para todos, gostaria de saber aonde estou errando nesse código ???
if ComboBox1.Text = ´CLIENTES´ then
begin
while not tblOrigem.Eof do
begin
with TIBQuery.Create(Self) do
begin
SQL.Text:=´UPDATE CLIENTES SET CAPITAL =: CAPITAL AND REGIAO =: REGIAO WHERE CODIGO =: CODIGO´;
Open;
end;
tblDESTINO.Post;
tblORIGEM.Next;
end;
end
Atc.
Rafael Cabral
if ComboBox1.Text = ´CLIENTES´ then
begin
while not tblOrigem.Eof do
begin
with TIBQuery.Create(Self) do
begin
SQL.Text:=´UPDATE CLIENTES SET CAPITAL =: CAPITAL AND REGIAO =: REGIAO WHERE CODIGO =: CODIGO´;
Open;
end;
tblDESTINO.Post;
tblORIGEM.Next;
end;
end
Atc.
Rafael Cabral
Rscrj
Curtidas 0
Respostas
Faelcavalcanti
14/03/2005
Qual a mensagem de erro ?
GOSTEI 0
Rômulo Barros
14/03/2005
Troque [b:1b1448d864]Open [/b:1b1448d864]por [b:1b1448d864]ExecSql[/b:1b1448d864];
GOSTEI 0
Massuda
14/03/2005
Eu não entendo muito de BD, mas além do que o UI indicou, acho que tem mais dois problemas:[list=1:e00ef2588b][*:e00ef2588b]Você não atribuiu valores aos parâmetros de sua query.[*:e00ef2588b]Depois de criar e utilizar a query de update, seria bom você dar um Free nela, senão você irá acumular objetos TIBQuery que só serão destruídos quando o form ou o programa for fechado.[/list:o:e00ef2588b]
GOSTEI 0
Faelcavalcanti
14/03/2005
Outra coisa que vi foi a linha abaixo :
Uma dica é, tome sempre costume de utilizar constantes SQL. Mas na parte [b:5528cd60fd]CAPITAL =: CAPITAL[/b:5528cd60fd], quando se refere à parâmetro seria [b:5528cd60fd]CAPITAL = :CAPITAL[/b:5528cd60fd], contanto que os dois pontos fique próximo do nome do parâmetro. Outra coisa também, cadê o valor dos parâmetros identificados tipo [b:5528cd60fd]Query.ParamByName(´CAPITAL´).AsInteger = 1[/b:5528cd60fd], por exemplo.
Espero ter ajudado.
SQL.Text:=´UPDATE CLIENTES SET CAPITAL =: CAPITAL AND REGIAO =: REGIAO WHERE CODIGO =: CODIGO´;
Uma dica é, tome sempre costume de utilizar constantes SQL. Mas na parte [b:5528cd60fd]CAPITAL =: CAPITAL[/b:5528cd60fd], quando se refere à parâmetro seria [b:5528cd60fd]CAPITAL = :CAPITAL[/b:5528cd60fd], contanto que os dois pontos fique próximo do nome do parâmetro. Outra coisa também, cadê o valor dos parâmetros identificados tipo [b:5528cd60fd]Query.ParamByName(´CAPITAL´).AsInteger = 1[/b:5528cd60fd], por exemplo.
Espero ter ajudado.
GOSTEI 0
Antoniologica
14/03/2005
Como vc tá criando o IBQuery em tempo de execução falta configurar a propriedade Database.
GOSTEI 0