to chechy(chechy) 你的代码有一点问题,当点击根目录时,提示 Microsoft Jet 数据库引擎找不到输入表或查询'分类'.确定它是否存在? ('分类'是treeview根目录名称)例外必须将treeview的子项名称设为数据库中的表名时才能连接成功,请问如何自由定义treeview的子项名称吗?
1、需要写一定的条件代码,比如 if treeview1.selected.Level = 2 then // 第三层才执行 2、如果数据库表名不是每个TreeNode的Text,那么可以通过TreeNode.Data来存储数据库表名。这样程序可以修改一下: adotable1.close; adotable1.tablename := String(PChar(treeview1.selected.Data)); adotable1.open; 注意上述代码必须在你创建TreeNode的时候将表名填入相应的Data中,才能有效。
to chechy(chechy) 非常感谢你的回复,我已按你的回复:if treeview1.selected.Level = 2 then 将代码进行修改 不过点击treeview1根目录时,又出现提示 ADOTable1: Cannot perform this operation on an open dataset还有,不要见怪!你说的"通过TreeNode.Data来存储数据库表名",我不太明白,能否详细说明一下. 谢谢!
to chechy(chechy) 问题1以解决: 现建立一个名为'分类'的表,再添加 if treeview1.selected.Level =0 then adotable1.active:=false;问题2还未明白
你的代码有一点问题,当点击根目录时,提示
Microsoft Jet 数据库引擎找不到输入表或查询'分类'.确定它是否存在?
('分类'是treeview根目录名称)例外必须将treeview的子项名称设为数据库中的表名时才能连接成功,请问如何自由定义treeview的子项名称吗?
if treeview1.selected.Level = 2 then // 第三层才执行
2、如果数据库表名不是每个TreeNode的Text,那么可以通过TreeNode.Data来存储数据库表名。这样程序可以修改一下:
adotable1.close;
adotable1.tablename := String(PChar(treeview1.selected.Data));
adotable1.open;
注意上述代码必须在你创建TreeNode的时候将表名填入相应的Data中,才能有效。
将代码进行修改
不过点击treeview1根目录时,又出现提示
ADOTable1: Cannot perform this operation on an open dataset还有,不要见怪!你说的"通过TreeNode.Data来存储数据库表名",我不太明白,能否详细说明一下.
谢谢!
问题1以解决:
现建立一个名为'分类'的表,再添加
if treeview1.selected.Level =0 then
adotable1.active:=false;问题2还未明白