我用两个TxMemData  怎么用代码实现主从表的关系

解决方案 »

  1.   

    SqlStr := 'ALTER TABLE '+ 从表名 + ' ADD CONSTRAINT ' +  从表名  + ' FOREIGN KEY (Zuhao) ' +'REFERENCES '+  主表名 + '(ZuHao) on delete cascade' ;
    SQL.Add(SqlStr);
    ExecSQL;
      

  2.   

     ImageComboBoxEx1  我已近绑定了这个空间,这个控件有两个选项。
    比如。有张三和李四两个选项,我绑定好了,
    现在我又从数据库读出张三,然后显示在这个空间上.....ImageComboBoxEx1。Text:='张三'  这样不行
      

  3.   

    我是在DataSource里面做的。做一个DataSource,DsMaster,其DataSet是一个TClientDataSet,TableMaster。这个DataSet的语句
      With TableMaster do
      Begin
        If Active Then
          Active := False;
        With FieldDefs Do
        Begin
          Clear;
          Add('id', ftInteger);
          ....
        End;
        With IndexDefs Do
        Begin
          Clear;
          Add('PrimaryKey', 'id', [ixPrimary]);
        End;
        CreateDataSet;
        Active := True;
      End;
    做另一个DsDetails,其DataSet是TableDetails,这个Table的语句
      With TableDetails Do
      Begin
        If Active Then
          Active := False;
        With FieldDefs Do
        Begin
          Clear;
          Add('id', ftInteger);
          Add('parent_id', ftInteger);
          ...
        End;
        With IndexDefs Do
        Begin
          Clear;
          Add('PrimaryKey', 'id', [ixPrimary]);
          Add('ByStudentId', 'parent_id', [ixCaseInsensitive]);
        End;
        CreateDataSet;
        Active := True;
        //主从关系由下面三句定
        MasterSource := DsMaster;
        MasterFields := 'id';
        IndexFieldNames := 'parent_id';
      End;
      

  4.   

    喔~用你那个试过了,LZ的那个MemData本身没这个功能,建议你装另外的MEMData组件,比如kbmMemTable