例如TADOTable当连接数据库后,选择TableName属性可以自动下拉出一个可以连接的表名列表,这个操作如何在设计控件的时候编写代码?

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    //uses  DB, ADODB;
    var
    ADOConnection1:TADOConnection;
    begin
       ADOConnection1:=TADOConnection.Create(self);
       ADOConnection1.ConnectionString :=  'Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=SC_JiaHua;Data Source=十号机';
       ADOConnection1.Open ;
       ADOConnection1.GetTableNames(ComboBox1.Items,false);
       ADOConnection1.Close;end;
      

  2.   

    procedure TForm1.Button1Click(Sender: TObject);
    //uses  DB, ADODB;
    var
    ADOConnection1:TADOConnection;
    begin
       ADOConnection1:=TADOConnection.Create(self);
       ADOConnection1.ConnectionString :=  'Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=SC_JiaHua;Data Source=十号机';
       ADOConnection1.Open ;
       ADOConnection1.GetTableNames(ComboBox1.Items,false);     //1  系统表  0 非系统表
       ADOConnection1.Close;end;
      //true  系统表  false 非系统表  
    这是SQlserver  的
    access 也可
      

  3.   

    屬性編輯器。
    override GetAttributes{result := [paValueList]},樓下繼續
      

  4.   

    yq3woaini没有理解我的意思,我的意思是制作一个控件。那么它安装后的属性编辑器里的值如何来设计,例如继承TTABLE的控件那么当TABLE连接数据原后可以得到数据库表名的下拉列表,但是我要自己来定义它,如何来实现。例如我一个属性的值只允许Y(是)N(不是)I(忽略)的下拉列表,可以做到这样吗?
      

  5.   

    如果只是要Y OR N 你可以在孔件定义集合变量的属性复杂的就是自己声明一个新的数据类型,然后为这个数据类型做一个属性编辑器