起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 74|回复: 2

【结贴】运行这段加载树的代码正常,但是退出IE就会报错

[复制链接]
发表于 2008-9-8 14:58:35 | 显示全部楼层 |阅读模式
procedure TFRMYGDA.AddTree(Node:TTreeNode;FPARENTGUID:string);
var
  sName,sGUID:string;
  tmpNode:TTreeNode;
  qry: TQuery;
begin
  qry:=TQuery.Create(nil);
  qry.ConnectionString:='DATABASEURL=Biz:SYSTEMSYSTEM.DATABASE';
  qry.CommandText:='select * from TDEPT where FPARENTGUID=:p1';
  qry.Params.ParamByName('p1').AsString:=FPARENTGUID;
  qry.Open;

  if qry.RecordCount>0 then
  begin
    qry.First;
    while not qry.Eof do
    begin
      sGUID:=qry.FieldByName('FGUID').AsString;
      sName:=qry.FieldByName('FDISPLAYNAME').AsString;

      tmpNode:=TreeView1.Items.AddChild(Node,sName);
      AddTree(tmpNode,sGUID);
      qry.Next;
    end;
    qry.Free;
  end;
end;

error.jpg

68.51 KB, 下载次数: 42

回复

使用道具 举报

发表于 2008-9-8 15:04:08 | 显示全部楼层
这样呢?
procedure TFRMYGDA.AddTree(Node:TTreeNode;FPARENTGUID:string);
var
  sName,sGUID:string;
  tmpNode:TTreeNode;
  qry: TQuery;
begin
  qry:=TQuery.Create(nil);
  try
  qry.ConnectionString:='DATABASEURL=Biz:\SYSTEM\SYSTEM.DATABASE';
  qry.CommandText:='select * from TDEPT where FPARENTGUID=1';
  qry.Params.ParamByName('p1').AsString:=FPARENTGUID;
  qry.Open;

  if qry.RecordCount>0 then
  begin
    qry.First;
    while not qry.Eof do
    begin
      sGUID:=qry.FieldByName('FGUID').AsString;
      sName:=qry.FieldByName('FDISPLAYNAME').AsString;

      tmpNode:=TreeView1.Items.AddChild(Node,sName);
      AddTree(tmpNode,sGUID);
      qry.Next;
    end;

  end;
  finally
     qry.Free;
  end;
end;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-9-8 15:09:56 | 显示全部楼层
好了
谢谢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-21 18:41 , Processed in 0.045607 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表