Fórum erroSQLConnection SQLTable DataSetProvider TClientData #282363

19/05/2005

0

Olá pessoal,
estou tentando realizar uma pesquisa na tabela, estou usando o delphi 7 e conectando o mysql através do DbExpress:

SQLConnection1 + SQLTable + DataSetProvider1 + TClientDataSet

Mas, ao executar o código listado abaixo o sistema enta em loop o que estou fazendo errado?

Obrigado pela ajuda.

procedure TForm1.B_DistribuirClick(Sender: TObject);
begin
Cds_Processo.Open;
Cds_Processo.First;
while not Tb_Processo.Eof do
Begin
if (Cds_Processo.Locate(´n_Guia´, StrToInt(Edit1.Text), [])) then
begin
Cds_Processo.Edit;
Cds_Processoddistribuicao.AsDateTime := StrToDate(MaskEdit1.Text);
Cds_ProcessoId_Procurador.Value := 3; //Tb_PessoalId.Value;
Cds_ProcessoId_Tipo_Distribuicao.Value := 2;
Cds_Processo.Post;
Cds_Processo.ApplyUpdates(0);
Cds_Processo.Next;
end;
end;

ShowMessage(´ Realizado passo 2 com SUCESSO!´);

end;


Valdirlucena

Valdirlucena

Responder

Posts

19/05/2005

Vinicius2k

Colega,

Vc está baseado a condição do laço em um DataSet mas está aplicando o Next em outro DataSet.
Substitua:
while not Tb_Processo.Eof do

Por:
while not Cds_Processo.Eof do

PS: Vc está perdendo, e muito, em performance por utilizar TSQLTable. Se possível, migre este componente para TSQLDataSet.

Espero ter ajudado.
T+


Responder

Gostei + 0

20/05/2005

Valdirlucena

Olá Vinicius2K,

Obrigado pela resposta mas, já tentei isso e não funcionou, continua em loop.

Colega, Vc está baseado a condição do laço em um DataSet mas está aplicando o Next em outro DataSet. Substitua:
while not Tb_Processo.Eof do
Por:
while not Cds_Processo.Eof do
PS: Vc está perdendo, e muito, em performance por utilizar TSQLTable. Se possível, migre este componente para TSQLDataSet. Espero ter ajudado. T+



Responder

Gostei + 0

20/05/2005

Vinicius2k

Colega,

Observe que vc tem o método Next atrelado ao resultado True do método locate.
Se o locate estiver retornando False, o Next nunca será aplicado.
Depende um pouco da lógica do seu processamento, mas acho que vc deveria retirar o Next de dentro do bloco condicionado ao resultado do locate.

T+


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar