Jee*_*eva 11 delphi tstringlist
我正在解析数据集并为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;
Run Code Online (Sandbox Code Playgroud)
为什么要添加重复项?
Ari*_*The 25
你确实读过http://docwiki.embarcadero.com/Libraries/XE2/en/System.Classes.TStringList.Duplicates,不是吗?
然后你错过了那里最重复的一句话 - "排序"
channelList.Sorted := true
Run Code Online (Sandbox Code Playgroud)
var 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;
Run Code Online (Sandbox Code Playgroud)
开箱即用,避免前面的重复?
我不知道你使用的是什么数据库但是例如在SQL服务器上它只是查询的问题:
'SELECT DISTINCT CHANNEL_INT FROM MYTABLE';
Run Code Online (Sandbox Code Playgroud)
然后你可以将结果添加到你的,TStringList而不用担心重复.