通过DELPHI连接到ORACLE数据库后(ADO或其他方式连接都可以),如何得到所连接数据库的相关信息,包括所有表单的名称(最好不要系统表单),表单的属性名称,属性的数据类型,长度,索引,所有的视图相关信息以及触发器的信息。

解决方案 »

  1.   

    procedure TADOConnection.GetTableNames(List: TStrings;SystemTables: Boolean);
    procedure TADOConnection.GetFieldNames(const TableName: string;List: TStrings);
    procedure TADOConnection.GetProcedureNames(List: TStrings);
      

  2.   

    GetFieldNames只能得到属性的名称,不知道如何得到属性的数据类型和数据长度.JAVA中有提供元数据类来取得相关的信息,不知道DELPHI中有没有?
      

  3.   

    參考  SQLDataSet1.SetSchemaInfo();
    可以得到你要的東西
      

  4.   

    http://www.marcocantu.com/code/md6htm/SchemaTest.htmprocedure TFormSchema.btnTablesClick(Sender: TObject);
    begin
      ClientDataSet1.Close;
      SQLDataSet1.SetSchemaInfo (stTables, '', '');
     ClientDataSet1.Open;
    end;procedureTFormSchema.btnFieldsClick(Sender: TObject);
    begin
      SQLDataSet1.SetSchemaInfo (stColumns,
        ClientDataSet1['Table_Name'], '');
     ClientDataSet1.Close;
     ClientDataSet1.Open;
    end;