stringList出错问题!
代码:
procedure TForm1.Button1Click(Sender: TObject);
var
index:integer;
node:TTreeNode;
begin
TreeView1.Update;
TreeView1.Items.Clear;
with ADOQuery1 do
begin
close;
sql.Clear;
sql.Add( 'select * from leixing order by id ');
open;
first;
DisableControls;
end;
while not ADOQuery1.Eof do
begin
if ADOQuery1.FieldByName( 'level ').AsString = '1 ' then
begin
node:=Treeview1.Items.AddChildObjectFirst(nil,ADOQuery1.fieldbyname( 'name ').AsString,ADOQuery1.GetBookmark);
end
else
begin
list.Sorted:=true;
index:=list.IndexOf(ADOQuery1.fieldbyname( 'parentid ').AsString);
node:= Treeview1.Items.AddChildObject(TTreeNode(List.Objects[index]),
ADOQuery1.fieldbyname( 'name ').AsString,ADOQuery1.GetBookmark);
end;
ADOQuery1.Next;
end;
运行时 list.Indexof()返回 -1
不知道为什么???
请教
[解决办法]
index:=list.IndexOf(trim(ADOQuery1.fieldbyname( 'parentid ').AsString));?
[解决办法]
如果你list里面有trim(ADOQuery1.fieldbyname( 'parentid ').AsString
那就不会返回-1了
好像应该注意大小写