——此文章摘自《Delphi 数据库开发经典案例解析》定价¥特价¥购买>>http://tracklinktechcn/?m_id=dangdang&a_id=A&l=&l_type= width= height= border= nosave> 要保存对树形图做的改动到相应的数据库需要为【保存设置】按钮添加如下代码 //保存对树形图做的修改 procedure TmainButtonClick(Sender: TObject); //保存对树形图所作的全部设置 var itemp:integer; namenumberabsindexitemindexitemlevelparentindex:string; ordercodessp:string; //上面的变量为节点的数据和循环控制变量 pnode:TTreeNode; //树形图节点 begin adocommandCommandText:=set IDENTITY_insert 组织机构编码表 on; adocommandExecute; //打开SQL SERVER中的组织机构编码表的插入许可 adocommandCommandText:=select * into zztemp from 组织机构编码表; adocommandExecute; //一般来讲在对一个表做大的修改前都需要创建一个临时表以保存备份 //根据用户需要可以从SQL Server中恢复该数据表或者在程序中编写SQL 语句 //将备份表的数据重新读入组织机构 编码表中 adocommandCommandText:=delete from 组织机构编码表; adocommandExecute; //清空要操作的表 adocommandCommandText:=insert into 组织机构编码表([内部编号] [类别][AbsIndex][ItemIndex][ItemLevel][ParentIndex][类别号] [单位编号][单位名称]) values(省医药集团 省医药集团); adocommandExecute; //直接插入首项数据 for i:= to treeviewItemsCount do //用treeviewitemscount可以计算树控件中所有的节点数目 begin pnode:=treeviewItemsItem[i]; //依次指向树形图的所有节点 name:=pnodeText; number:=inttostr(+pnodeAbsoluteIndex); //内部编码设为从开始也可以设为读者愿意使用的任何整数 absindex:=inttostr(pnodeAbsoluteIndex); itemindex:=inttostr(pnodeIndex); parentindex:=inttostr(pnodeParentAbsoluteIndex); //为节点各项参数读入数据 s:=inttostr(pnodeIndex); if length(s)= then s:=+s else s:=s; order:=s; //取子项的本级编号Index也就是类别号 //由于类别号是两位整数而本级编号小于的节点的编号是位整数 //对其进行编码把例如的index转为字符串 right>[] [http://developcsaicn/delphi/htm>] |