Bonjour à tous,

Voici pourtant un code qui me parrait classique
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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