我正在解析一个数据集并将值赋值给TStringList,我希望避免重复。我使用以下代码,但仍会插入重复的代码。
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;为什么要增加副本?
发布于 2013-07-16 08:56:21
你读过http://docwiki.embarcadero.com/Libraries/XE2/en/System.Classes.TStringList.Duplicates,不是吗?
然后你错过了最重复的词--“排序”
channelList.Sorted := truevar F: TField;
channelList := TStringList.Create;
channelList.Sorted := True;
channelList.Duplicates := dupIgnore;
try
dataset.First;
F := dataset.FieldByName('CHANNEL_INT');
while not dataset.EOF do
begin
channelList.Add(F.AsString);
dataset.Next;
end;发布于 2013-07-16 09:07:02
跳出框框,预先避免重复?
我不知道您使用的是什么DB,但例如在SQL服务器上,这只是查询的问题:
'SELECT DISTINCT CHANNEL_INT FROM MYTABLE';然后,您可以将结果添加到您的TStringList中,而不必担心重复。
https://stackoverflow.com/questions/17671959
复制相似问题