Pb avec lecture de type while AdoQuery.Eof dans base mdb
Bonjour à tous,
Voici pourtant un code qui me parrait classique
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| k:= 0;
qry.Close;
qry.SQL.Clear;
qry.SQL.text:='SELECT * FROM TYPEOBJECT WHERE TYPEOBJECT_FAMILLY_NO ='+IntToStr(CurFamilly.FamillyNo)+';';
qry.Prepared := true;
qry.Open;
qry.first;
while not qry.Eof do
begin
CurFamilly.ObjectVec[k].NbrApparSeg:= qry.FieldByName('TYPEOBJECT_NB_SEG_APPAR').AsInteger;
CurFamilly.ObjectVec[k].ObjectName:= qry.FieldByName('TYPEOBJECT_NAME').AsString;
CurFamilly.ObjectVec[k].ObjTypeNo:= qry.FieldByName('TYPEOBJECT_NO').AsInteger;
CurFamilly.DiscrimObj.NbrSegmentsVec[k]:= CurFamilly.ObjectVec[k].NbrApparSeg;
CurFamilly.DiscrimObj.ObjectNameVec[k]:= CurFamilly.ObjectVec[k].ObjectName;
qry.Next;
inc(k);
end; |
Or il se trouve que la lecture de certaines lignes de la table passent à la trappe, et de surcroît certaines autres sont lues en double voir en triple.
Cela conduit à une liste des champs avec doublons et avec absence de certains autres
Quelqu'un peut il me dire comment s'assurer de l'intégrité de la lecture ?
A+ très vite j'espère car je suis dans le caca !
Merci à tous