Suppression de doublons de TStringList
Je suis de l'analyse d'un jeu de données et l'attribution des valeurs aux TStringList
je veux éviter les doublons. J'utilise le code suivant, mais encore les doublons sont insérés.
channelList := TStringList.Create;
channelList.Duplicates := dupIgnore;
try
dataset.First;
while not dataset.EOF do
begin
channelList.Add(dataset.FieldByName('CHANNEL_INT').AsString) ;
dataset.Next;
end;
pourquoi les doublons?
BTW
dataset.FieldByName('CHANNEL_INT')
est lente des ménagères de fonctionnement. Cache dans le var F: TField
avant le début de la boucleOriginalL'auteur Jeeva | 2013-07-16
Vous devez vous connecter pour publier un commentaire.
Vous avez lu http://docwiki.embarcadero.com/Libraries/XE2/en/System.Classes.TStringList.Duplicates , n'est-ce pas ?
Vous avez manqué le mot le plus répété "triés"
eh bien, je pense que l'utilisateur avec 2K+ karma devrait au moins , si ce n'est entretien. Qu'en est
.Sorted
miss... eh bien... nous gardons tous makinf le plus stupide des erreurs de temps et de nouveau malgré toute l'expérience acquise avant peut-être que c'était juste son mauvais jour. 🙂Sans doute ce genre de journée 🙂
Otoh, que qui me fait me demander quelle est la datasat ? type de ISAM ? JSON/XML ? cause la 1ère instinct pour moi, ce serait ajouter un SQL terme de la requête, de sorte que le jeu de données ne pouvait pas contenir les doublons dans le 1er
oh, je suis désolé, je suis nouveau à Delphes mon 2k+ est sur c++
OriginalL'auteur Arioch 'The
Penser hors de la boîte et d'éviter les doublons avant?
Je ne sais pas ce que DB que vous utilisez, mais par exemple sur SQL server, il est juste une question de l'interrogation:
et vous pouvez ensuite ajouter les résultats de votre
TStringList
sans être inquiet au sujet des doublons.si c'est la requête pour remplir la liste, oui. Mais il pourrait être la requête avec un objectif différent et d'obtenir la liste des valeurs possibles est juste que, par exemple, pour la grille de filtre automatique.
c'est ce que je voulais dire - Si ces enregistrements filtrés sont ignorés n'importe où ailleurs dans l'application, il n'y a pas besoin de les récupérer...
eh bien, je l'ai dit de mal. C'est pas le plus de la réponse correcte, c'est (probablement) la meilleure suggestion.
Je suis d'accord ce n'est pas une réponse à sa question, donc, d'Arjoc, mérite l'accepter ici...
OriginalL'auteur whosrdaddy