GARANTIR DESCONTO

Fórum EOF com Rsultado Errado #301262

31/10/2005

0

Oi pra todos,a minha pergunta hoje e parace ser sobre um problema sobre natural,estou usando um datasource que vendo a propriedade recordcount esta retornando 5 registros mas o EOF esta sempre retornando True mesmo forçando o first alguem sabe a causa deste problema. E que estou querendo ontar uma estrução e tenho que fazer um loop nos registros e um codigo mais ou menos assim.

with self.ServicoSite.DataSet DO
BEGIN
First;
WHILE NOT EOF DO
BEGIN
strsql:=´Update SBDB.SERVIÇO_CREDENCIADO SET ´;
for i:=0 to FieldCount-1 do
begin
STRSQL:=STRSQL+Fields[i].DisplayName+´=´;
IF (Fields[I].DataType=ftString) or (Fields[I].DataType=ftWideString) THEN
STRSQL:=STRSQL+´´´´+ Fields[i].AsString+´´´,´
ELSE IF (Fields[I].DataType=ftFloat) OR (Fields.Fields[I].DataType=ftCurrency) or (Fields.Fields[I].DataType=ftInteger)THEN
STRSQL:=STRSQL+ inttostr(Fields[I].AsInteger)+´,´
ELSE IF (Fields[I].DataType=ftDate) OR (Fields[I].DataType=ftDateTime) OR (Fields[I].DataType=ftTimeStamp) THEN
STRSQL:=STRSQL+ ´TO_DATE(´´´+ FORMATDATETIME(´DD/MM/YYYY´,Fields[I].AsDateTime)+´,´´DD/MM/YYYY´´),´;
END;
END;
Next;
END;


Rogeriorock

Rogeriorock

Responder

Posts

31/10/2005

Silviogs

Olá amigo

este next não deveria está dentro do while?

with self.ServicoSite.DataSet DO BEGIN
First;
WHILE NOT EOF DO BEGIN
strsql:=´Update SBDB.SERVIÇO_CREDENCIADO SET ´;
for i:=0 to FieldCount-1 do begin
STRSQL:=STRSQL+Fields[i].DisplayName+´=´;
IF (Fields[I].DataType=ftString) or (Fields[I].DataType=ftWideString) THEN
STRSQL:=STRSQL+´´´´+ Fields[i].AsString+´´´,´
ELSE IF (Fields[I].DataType=ftFloat) OR (Fields.Fields[I].DataType=ftCurrency) or (Fields.Fields[I].DataType=ftInteger) THEN
STRSQL:=STRSQL+ inttostr(Fields[I].AsInteger)+´,´
ELSE IF (Fields[I].DataType=ftDate) OR (Fields[I].DataType=ftDateTime) OR (Fields[I].DataType=ftTimeStamp) THEN
STRSQL:=STRSQL+ ´TO_DATE(´´´+ FORMATDATETIME(´DD/MM/YYYY´,Fields[I].AsDateTime)+´,´´DD/MM/YYYY´´),´;
END;
( Next;) forma atual
END;
( Next;) forma anterior
END;


Responder

Gostei + 0

31/10/2005

Rogeriorock

Sim eu me confudir com o end do with, só que o meu problema não e este,e que logo após o first que já nem era para esta lá,mas coloquei pra força-lo a ir para o primeiro registro, só que embora ele esteja com 5 registros assim mesmo ele me da o EOF True saindo do loop.


Responder

Gostei + 0

31/10/2005

Rogeriorock

Já encontrei o problema,e que preenchi por acidente a propriedade datasorce da query atrelada ao datasource, e por isto ele fazia todas as consultas normalmente mas dava erro no EOF,BOF e IsEmpety na verdade não dava erro ele se comportava como se estivese fazio.


Responder

Gostei + 0

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

Aceitar