欢迎来到天天文库
浏览记录
ID:34722626
大小:71.18 KB
页数:3页
时间:2019-03-10
《delphi--treeview与数据库的使用》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、[编程]DELPHI--TreeView与数据库的使用//写一个过程procedureTf_Serch.DrawTree;vari:Integer;Nodeo:TTreeNode;begin//打开一个表 withdm.qTempQdobeginClose;SQL.Clear;SQL.Add('select*fromt_classorderby编号');Open;end; //打开第二个表withdm.qKiddobeginClose;SQL.Clear;SQL.Add('select*fromt_ki
2、dorderby班级编号');Open;end; //清空列表RzTreeView1.Items.Clear; //如果第一个表有数据ifnotdm.qTempQ.Eofthenbegin //设置列表自动打开RzTreeView1.AutoExpand:=true; //设置列表为只读RzTreeView1.ReadOnly:=true; //增加一个节点,来源是第一个表的合计数和第二个表的合计数Nodeo:=RzTreeView1.Items.AddFirst(nil,'班级数['+IntTo
3、Str(dm.qTempQ.RecordCount)+'个'+IntToStr(dm.qKid.RecordCount)+'人]');//以第一个表的记录个数进行循环增加子节点fori:=0todm.qTempQ.RecordCount-1dobegin //打开第三个表,与第二个表相同withdm.qTemp1dobeginClose;SQL.Clear;SQL.Add('select*fromt_kid');Open; //不同的是,这个表过滤数据Filtered:=false;Filte
4、r:='班级编号='+QuotedStr(dm.qTempQ.FieldByName('编号').AsString);Filtered:=true;end; //增加子节点,来源是第一个表某字段的记录和第三个表的合计数RzTreeView1.Items.AddChild(Nodeo,'['+IntToStr(dm.qTemp1.RecordCount)+'人]'+dm.qTempQ.FieldByName('名称').Asstring); //第一个表的下一条dm.qTempQ.Next;end
5、;end;ifRzTreeView1.EnabledthenRzTreeView1.SetFocus;end;//CLICK事件procedureTf_Serch.RzTreeView1Click(Sender:TObject);varStrPos:string;intPos:Integer;begin //如果列表没有节点则退出ifRzTreeView1.Items.GetFirstNode=nilthenExit; //以选择节点的变量判断使用什么表,这个是已知第一个节点的变量是何值,对其进行判断,
6、如果节点则调用一个表后并退出ifPos('班级数',RzTreeView1.Selected.Text)<>0thenbegindm.qTempQ.Close;dm.qTempQ.SQL.Clear;dm.qTempQ.SQL.LoadFromFile('binselclass.sql');dm.qTempQ.SQL.Add('groupby姓名');dm.qTempQ.Open;withdm.qMTTdobeginClose;SQL.Clear;SQL.LoadFromFile('binselIO
7、.sql');SQL.Add('groupby姓名');Open;end;Exit;end; //得到选择的节点的变量StrPos:=RzTreeView1.Selected.Text; //对变量进行判断intPos:=pos(']',StrPos); //获得一个变量StrPos:=Copy(StrPos,intPos+1,Length(StrPos)-intPos); //依上个变量值调用表灵气withdm.qTemp2dobeginClose;SQL.Clear;SQL.Add('select*
8、fromt_classwhere名称='''+StrPos+'''');Open;StrPos:=fieldbyname('编号').AsString;end; //上面的调用是两表主键的使用,与treeview无关,调用出的数据在dbgrid中显示withdm.qTempQdobeginClose;SQL.Clear;SQL.LoadFromFile('binselclass.sql');SQL.Add('where班级编号='''+S
此文档下载收益归作者所有