Fórum problemas com while - loop infinito #363697
10/09/2008
0
procedure TDmDados.ExportaCLientes(var Error : Integer);
begin
//abrir a query
QryClientes.Open;
try
ClientesDB.Open;
except
Error := 1;
TabdConduit1.AddLogEntry(´erro ao abrir banco de dados de clientes´);
Exit;
end;
ClientesDB.First;
QryClientes.First;
While not QryClientes.EOF do
begin
ClientesDB.Append;
ClientesDB.FieldByName(´Cli_Codigo´).AsInteger := QryClientesT004_NR_CODIGO.AsInteger;
ClientesDB.FieldByName(´Cli_Nome´).AsString := QryClientesT004_CA_NOME.AsString;
if QryClientesT004_CA_PESSOA.AsString = ´F´ then
ClientesDB.FieldByName(´Cli_PfPj´).AsString := ´PF´;
ClientesDB.FieldByName(´Cli_Endereco´).AsString := ´Endereço´;
ClientesDB.FieldByName(´Cli_Fone´).AsString := ´Telefone´;
ClientesDB.FieldByName(´Cli_Cidade´).AsString := ´Cidade´;
ClientesDB.Post;
ClientesDB.Next;
QryClientes.Next;
end;
ClientesDB.Close;
QryClientes.Close;
end;
Arielpires
Curtir tópico
+ 0Posts
10/09/2008
Facc
ClientesDB.Next;
QryClientes.Next;
end;
Experimente tirar o [b]ClientesDB.Next;[/b] pois é onde vc tá jogando os dados. não há necessidade de dar next.
Gostei + 0
10/09/2008
Arielpires
o problema é que ele ignora o QryClientes.EOF, como se ainda tivessem dados, mas nao tem... é como se não chegasse no fim da consulta...
Gostei + 0
10/09/2008
Dbergkamps10
while Query.eof = false do ... ....
Espero ter ajudado.
Att
Dalton
Gostei + 0
12/09/2008
Arielpires
Gostei + 0
12/09/2008
Álison Bissoli
já tive esse mesmo problema e nunca
imaginaria que esta seria a solução
:D
Gostei + 0
12/09/2008
Wdrocha
Eu sempre uso While Not ( Query.Eof) do....e sempre deu certo....
eu estava com um problema parecido na aplicação em q tow trabalhando...
mas não tem nada a ver com query....
eu criei uma função para percorrer os componentes do form....comparando se o handle dos botões era igual o handle do último lugar que cliquei.....
até aew blz....
mas qdo eu botava um label no form....
dava access violation....
mesmo eu fazendo assim...
TButton(form.components[I]).Handle....
estranho não??? Acho q é bug da IDE, talvez....
Eu tive q fazer uma espécie de gambi para poder funcionar....
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)