SQL+DELPHI
  我有一个物料类别表MaterielType(no,parentno,name)用于treeview之数据
  物料名称表Materiel(m_no,no…),作为Dbgrid的数据表
  其中物料名称表中的no与物料类别表的no有对应关系
  
  1.如何使物料名称表和物料类别表联接起来,比喻选中物料类型表中的某一条记录,则可以看到相应类别的物料名称
  2.如何实现treeview与dbgrid联接,如选中treeview中的某节点物料类别时,则Dbgrid中显示相应类别的物料名称请帮手,TKS!

解决方案 »

  1.   

    设置你的Materiel这个table 的masterSource 为你的MaterielType 的datasource ,然后设置绑定字段即可;treeView 要联动dbgrid 的话,你需要在treeView 的名称中保存No 的值,或是保存在TreeView.data 属性下,作为一个指针保存,可以是类,变量或是结构体;或者简单的方法是你安装DevExpress 的组件,里面有非常好的DBTreeList 组件,直接绑定记录集。
      

  2.   

    Sorry!我的两个表是Adoquery,没有masterSource啊
      

  3.   

    dataSourse1.DataSet=AdoQuery1
    dataSourse2.DataSet=AdoQuery2
    AdoQuery2.DataSource=DataSourse1
    AdoQuery1.SQL.Text:='Select * from 主表'
    AdoQuery2SQL.Text:='Select * from 从表 where keyField2=:KeyField1'
    keyField1,keyField2分别是主表和从表的连接字段名称
    AdoQuery1.Open;一切OK,结帐吧!!
      

  4.   

    dataSourse1.DataSet=AdoQuery1
    dataSourse2.DataSet=AdoQuery2
    AdoQuery2.DataSource=DataSourse1
    AdoQuery1.SQL.Text:='Select * from MaterielType
    AdoQuery2SQL.Text:='Select * from Materiel where no=:no'AdoQuery1.Open;一切OK,结帐吧!!