jutilise la methode suivante pour recuperer les index et primarykey
Code :
- adotable1.tablename:=lcFieldQuery;
- adotable1.open;
- for loopD:=0 to adotable1.IndexDefs.count-1 do begin
- memo1.Lines.add(adotable1.indexdefs.items[loopD].name+' '+adotable1.indexdefs.Items[loopD].Fields);
- end;
- adotable1.Close;
|
le probleme c que c lent, +-20s pour parcourir une centaine de table vu que adotable recuperer toutes les lignes a a chaque fois (ce dont je nait pas besoin)
jai essaye avec adodataset mais la je nai plus aucune info concernant ces index (ca ne renvoie rien)
Code :
- adodataset1.CommandText:='select * from '+lcTablename+' where 0=1';
- adodataset1.open;
- for loopD:=0 to adodataset1.IndexDefs.count-1 do begin
- memo1.Lines.add(adodataset1.indexdefs.items[loopD].name+' '+adodataset1.indexdefs.Items[loopD].Fields);
- end;
- adodataset1.Close;
|