adotable1.close;
adotable1.tablename := treeview1.selected.Text; 
adotable1.open;

解决方案 »

  1.   

    to chechy(chechy) 
    你的代码有一点问题,当点击根目录时,提示
    Microsoft Jet 数据库引擎找不到输入表或查询'分类'.确定它是否存在?
    ('分类'是treeview根目录名称)例外必须将treeview的子项名称设为数据库中的表名时才能连接成功,请问如何自由定义treeview的子项名称吗?
      

  2.   

    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中,才能有效。
      

  3.   

    to chechy(chechy) 非常感谢你的回复,我已按你的回复:if treeview1.selected.Level = 2 then 
    将代码进行修改
    不过点击treeview1根目录时,又出现提示
    ADOTable1: Cannot perform this operation on an open dataset还有,不要见怪!你说的"通过TreeNode.Data来存储数据库表名",我不太明白,能否详细说明一下.
    谢谢!
      

  4.   

    to chechy(chechy) 
    问题1以解决:
    现建立一个名为'分类'的表,再添加
    if treeview1.selected.Level =0 then
    adotable1.active:=false;问题2还未明白