estou com um problema que eu não consigo entender..
eu uso IBQuerys auxiliares com SQL em branco, e de acordo com minha necessidade adiciono SQL (apenas para visualização) em meu programa
só que está dando problema..
neste caso eu uso a query auxiliar para verificar quais FEEDERS da maquina(idmaq) 1 estão sem componente(idcomp).
e então adiciono eles em um combobox no form de cadastro(CadFeederForm)
este SERIA o codigo correto:
s:='select * from feedercomp'+
' where idcomp is null'+
' and idmaq = 1'+
' order by feeder';
dm.auxQuery.Close;
dm.auxquery.sql.clear;
dm.auxquery.sql.add(s);
dm.auxquery.Open;//O ERRO ACONTECE AQUI(não mostra a linha, descobri-lo usando pontos de interrupção)
dm.auxquery.last;
dm.auxquery.first;
CadFeederForm := TCadFeederForm.Create(nil);
for linha := 0 to dm.auxQuery.RecordCount - 1 do
begin
for coluna := 1 to dm.auxQuery.FieldCount do
begin
if dm.auxQuery.Fields[coluna-1].DisplayLabel = 'FEEDER' then begin
CadFeederForm.ComboBox1.Items.Add(dm.auxQuery.Fields[coluna - 1].AsString);
end;
end;
dm.auxQuery.Next;
end;
dm.auxquery.close;
CadFeederForm.ShowModal;
CadFeederForm.Free;
o problema é que esta mesma auxquery também é usada em outro form para outra tabela(GARRA), e em outros forms também
ai quando é aberta(dm.auxquery.open) mostra o seguinte erro:
"Project CEC.exe raised exception class EDatabaseError with message 'DBEdit5: Field 'GARRA' not found'. Process stopped. ....."
a merda é que não tem nada de GARRA nesta tabela, e nem DBEdit5 no form de cadastro de feeder
então eu criei outra query auxiliar(aux2query):
s:='select * from feedercomp'+
' where idcomp is null'+
' and idmaq = 1'+
' order by feeder';
dm.aux2Query.Close;
dm.aux2query.sql.clear;
dm.aux2query.sql.add(s);
dm.aux2query.Open;//Não acontece mais erro
dm.aux2query.last;
dm.aux2query.first;
CadFeederForm := TCadFeederForm.Create(nil);
for linha := 0 to dm.aux2Query.RecordCount - 1 do
begin
for coluna := 1 to dm.aux2Query.FieldCount do
begin
if dm.aux2Query.Fields[coluna-1].DisplayLabel = 'FEEDER' then begin
CadFeederForm.ComboBox1.Items.Add(dm.aux2Query.Fields[coluna - 1].AsString);
end;
end;
dm.aux2Query.Next;
end;
dm.aux2query.close;
CadFeederForm.ShowModal;
CadFeederForm.Free;
e assim funcionou direitinho, notem que eu só mudei a query.
Pergunta
Guest --felipe --
e ai pessoal
estou com um problema que eu não consigo entender..
eu uso IBQuerys auxiliares com SQL em branco, e de acordo com minha necessidade adiciono SQL (apenas para visualização) em meu programa
só que está dando problema..
neste caso eu uso a query auxiliar para verificar quais FEEDERS da maquina(idmaq) 1 estão sem componente(idcomp).
e então adiciono eles em um combobox no form de cadastro(CadFeederForm)
este SERIA o codigo correto:
o problema é que esta mesma auxquery também é usada em outro form para outra tabela(GARRA), e em outros forms também ai quando é aberta(dm.auxquery.open) mostra o seguinte erro: "Project CEC.exe raised exception class EDatabaseError with message 'DBEdit5: Field 'GARRA' not found'. Process stopped. ....." a merda é que não tem nada de GARRA nesta tabela, e nem DBEdit5 no form de cadastro de feeder então eu criei outra query auxiliar(aux2query):e assim funcionou direitinho, notem que eu só mudei a query.
agradeço desde já!
abraços
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.