急求从数据库读出treeview多级目录的代码找到一段要递归的读数据库,调试的时候结果出现var id:pid
这行错误,不知道这个定义需要引用什么库,有没有无需多次读数据库的递归代码
这行错误,不知道这个定义需要引用什么库,有没有无需多次读数据库的递归代码
解决方案 »
- 求技术支持 delphi中string还原到TStream大小不一样
- 新人求助!这样的SQL语句应该怎么写?如何触发TDBGrid的OnClick事件?
- DELPHI中的斜线
- 卡尔软件园启用新域名,提供众多源码!随便散分!
- 谁用过IP CONTORLS 里的wwDBGrid!求救
- 哪里可以下载到<delphi5.x ado/mts/com+>的程序下载
- 如何取得、修改拨号网络的用户名
- 在delphi中怎样让tdate或tdatetime型变量的值增加
- delphi 中ISAPI 编程问题
- 计算机发音读钱数
- 程序中用delphi的idftp组件,用于上传,别人可以侦测用户名与密码吗?会泄露密码吗?
- 如何公开保护的方法
Procedure TFMain.FormCreate(Sender: TObject);
Procedure createsubtree(parentid: String; node: ttreenode; i: integer);
Var
laq: tadoquery;
childnode: ttreenode;
Begin
laq := tadoquery.Create(self);
laq.Connection := dm.ADOC;
laq.SQL.Text := 'select sid,chapter,simpchinese,CiteSameness from dictionary where chapter=' + '''' + parentid + '''';
laq.SQL.Text := laq.SQL.Text + ' and showuser like (''%' + pubfrm.fUserName + '%'')';
laq.SQL.Text := laq.SQL.Text + ' and left(sid,1)=''0' + ''' order by keyid ';
laq.Open;
While Not laq.Eof Do
Begin
childnode := tv.Items.AddChild(node, laq.Fields[2].asstring);
childnode.ImageIndex := i;
createsubtree(laq.Fields[0].asstring, childnode, i + 1);
laq.Next;
End;
End;Begin
createsubtree('0', Nil, 1);
End;
var
i:integer;
treenode:TTreeNode;
begin
i:=0;
ADOQuery1.First;
while not ADOQuery1.Eof do
begin
if ADOQuery1.FieldByName('ParentId').AsString=parentid then
begin
treenode:=TreeView1.Items.AddChild(parentnode,ADOQuery1.fieldbyname('NodeName').AsString);
formtreenode(ADOQuery1.fieldbyname('NodeId').AsString ,TreeView1,treenode,ADOQuery1);
end;
inc(i);
ADOQuery1.First;
ADOQuery1.MoveBy(i);
end;
end;在调用如下,如在窗体的create事件中:procedure TFRM_channel.FormCreate(Sender: TObject);
var
TreeNode1:TTreeNode;
i:integer;
nodename:string;
nodeid:string;
parentid:string;
cmdstr:string;begin
//初始化树形节点
ADOQuery1.ConnectionString:=mypublic.datastr; cmdstr:='select * from ChanTreeNode order by ParentId ,NodeId asc';
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(cmdstr);
ADOQuery1.Open; TreeNode1:=nil;
formtreenode('000',TreeView1,TreeNode1,ADOQuery1);
end;找到了,谢谢大家
根据数据库结构生成TreeView