比如在用SQLEDIT.pas这个模块时,怎么显示TABLE LIST?

解决方案 »

  1.   

    不好意思,可能没说清楚。引用的话用USES就可以了。我想让他在自己的组件也象在IDE中那样运行,就是设置好CONNECTIONSTRING后,设置COMMANDTEXT属性时能弹出该窗体,当然也要能显示TABLE LIST和FIELD LIST。
    下面是我的做法,不知是否需要改进。
    var
      frmSQLEdit :TfrmSQLEdit ;
    begin
      if Assigned(FComponent) then    //组件中的私有变量
      begin
        if UseDataLinkFile.Checked then              //AdoConEd.pas
          FComponent.ConnectionString := DataLinkFile.Text ;
        if UseConnectionString.Checked then
          FComponent.ConnectionString := ConnectionString.Text ;
        Designer.Modified;    if FComponent.ConnectionString <> '' then
        begin
          if connTemp.Connected then connTemp.Close ;  //connTemp 临时TADOCONNECTION
          connTemp.ConnectionString := FComponent.ConnectionString ;
          connTemp.Open ;
          frmSQLEdit := TfrmSQLEdit.Create(Application);     //SqlEdit.pas,窗体名称已改
          try
            frmSQLEdit.SQLMemo.Text := FComponent.CommandText ;
            frmSQLEdit.GetTableNames := connTemp.GetTableNames ;
            frmSQLEdit.GetFieldNames := connTemp.GetFieldNames ;
            frmSQLEdit.ShowModal ;        FComponent.CommandText := frmSQLEdit.SQLMemo.Text ;
            Designer.Modified ;
          finally
            frmSQLEdit.Release ;
            connTemp.Close ;
          end ;
        end ;
      end;      //end assigned()  Close ;
    end;
      

  2.   

    组件要实现的主要功能是:
    1、双击组件图标要能设置CONNECTIONSTRING,然后设置COMMANDTEXT;这部分已基本完成;
    2、显示RECORDSET;这部分还没想好怎么实现;大伙帮忙出点主意;
    另,这是实习时要求做的,不一定有很大的使用价值。如果有需要的话,完成后把源码贴出来。谢谢!