如果已经在treeview中建好了一个两层的树型结构
-系统名称1
-功能名称1
-功能名称2
-系统名称2
-功能名称3
-功能名称4
我现在需要将他还原成数据库中的结构为
系统名称1 功能名称1
系统名称1 功能名称2
系统名称2 功能名称3
系统名称2 功能名称4
如何写代码?在线等待,马上给分?急盼!
-系统名称1
-功能名称1
-功能名称2
-系统名称2
-功能名称3
-功能名称4
我现在需要将他还原成数据库中的结构为
系统名称1 功能名称1
系统名称1 功能名称2
系统名称2 功能名称3
系统名称2 功能名称4
如何写代码?在线等待,马上给分?急盼!
你不是发了个贴子吗,只是逆项而已:
procedure TForm1.Button1Click(Sender: TObject);
var
i,j:integer;
s:string;
str:string;//
begin
i:=form1.TreeView1.Items.Count;
if i>0 then
begin
for j:=0 to i-1 do
begin
if form1.TreeView1.Items.Item[j].Parent=nil then
begin
str:=form1.TreeView1.Items.Item[j].Text;
continue;
end;
query1.active:=False;
query1.sql.clear;
query1.sql.add('insert into tab (col1,col2) values(str,:s1)');
query1.ParamByName('s1'):=form1.TreeView1.Items.Item[j].Text;
query1.ExceSql;
end;
end;
end;
是不是想把treeview以一定的格式存入数据库中将来可以读出来?
如果你所保存的数据有其它用的话, 可以找找相关的代码,不难的数据库的设计为
id integer
parentid integer
data string比较好,如果你还有其它数据, 可以在加些字段,如果你只是想保存tree数据让下次程序起来可以用,
你可以用savetofile和loadfromfile
mailto:[email protected]
var
i,j:integer;
s,s1:string;
begin
i:=form1.TreeView1.Items.Count;
if i>0 then
begin
for j:=0 to i-1 do
begin
s:=form1.TreeView1.Items.Item[j].Text;
if form1.TreeView1.Items.Item[j].Parent<>nil then
begin
s1:=form1.TreeView1.Items.Item[j].Parent.Text;
form1.Table1.Open;
form1.Table1.Append;
form1.Table1.FieldValues['子系统名称']:=s1;
form1.Table1.FieldValues['功能名称']:=s;
form1.Table1.Post;
form1.Table1.Refresh;
end;
end;
end;
end;