我做了个基于MFC的系统,用到了树型控件,现在我在树型控中已经能够实现把对应数据库的用户表名显示在树的分支上,可是现在我想点击表的名字,在旁边Listctrl列表控件中显示SQL数据库中对应的表,即详细信息拉,可是现在我不知道如何去做,哪位专家能否帮我解决下,非常感... 

解决方案 »

  1.   

    取得你点击的树分支的文本xyz,然后 SELECT * FROM xyz,再将记录加入到LISTCTRL不可以了。
      

  2.   

    上面的方法不是很好,如果两个表名同名会出现歧义,
    正确的作法是,为每个表名定义一个唯一个ID值(如增加一个表TableID来管理表名同ID的关系),
    字段名    ID        TableName       Demo    
              
    在将表名加入到树控件时,为树控件的此节点树控件.SetItemData(DWORD ID);
    点击树控件节点项时,INT curID = 树控件.GetItemData(HTREEITEM hSelectedItem);

    CString sqltext;
    sqltext.Format(""SELECT * FROM TableID WHERE ID=%d",curID);
    用上面的语句得到对应节点项的当前表名TableName字段值,再处理此表即可
      

  3.   

    http://www.vckbase.com/code/downcode.asp?id=2989
    这有个实例参考下 .
      

  4.   

    楼上七月的方法我试过了,我双击能取得表名,关键是这是响应函数,我击一次他响应一次,也就是又加入一次,是累加的,我本来是想用刷新函数,或者listctrl控件的deleteallitems()函数,可是还是不行。
    pentiumMMX(),我想问一下我如何去设置ID值?要进入数据库么?也就是为每个表明设置一个key?关键是数据库的表是灵活的,随时给我个数据库,我连接上就想让他显示,我没有权力去该数据库,最多稍改下代码阿,不过我想着好几天还是不行的,
    我现在的做法是用七月的方法获取到表名付给变量,然后用if语句选择不同的表,因为在listctrl显示表我得先画表格,然后插入字段,我把表格初始化和插入的字段名的代码加在了初始化函数中,这样他就不连续的响应,然后就是连接数据库,利用指针在数据库中一个个纪录寻找再插入listctrl中,很简单的,但是有很大的缺点就是不灵活,我数据库中每个标的字段名都是不一样的,这样的话我初始化时候要把这些标的所有字段名都显示出来,这笨啊
      

  5.   

    获取表名的工作我现在可以很容易实现,关键是我如何去更灵活的实现在listctrl中显示对应的表?
      

  6.   

    totoorange(千江有水千江月,万里无云万里天),我看了那个例子,我做的和你那例子差不多,不过我得从数据库去提取数据,而不是那么容易就在代码里插进数据,而且我的字段名要变化,你那个例子和我现在做的差不多,呵呵
    虽然问题还没完全解决,还是非常感谢你们几位