ado 中OpenSchema用法

 

unit Unit2;

interface

uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, DB, ExtCtrls, DBCtrls, Grids, DBGrids, ADODB, StdCtrls;

type
    TForm1 = class(TForm)
        Button1: TButton;
        ADODataSet1: TADODataSet;
        DBGrid1: TDBGrid;
        DataSource1: TDataSource;
        DBNavigator1: TDBNavigator;
        ADOConnection1: TADOConnection;
        procedure Button2Click(Sender: TObject);
        procedure Button1Click(Sender: TObject);
    private
        { Private declarations }
    public
        { Public declarations }
    end;

var
    Form1                               : TForm1;

implementation

uses UtAdo;

{$R *.dfm}

procedure TForm1.Button2Click(Sender: TObject);
begin
    showmessage(PromptDataSource(0, ''));

end;

procedure TForm1.Button1Click(Sender: TObject);
begin
    //获得所有的表
    //ADOConnection1.OpenSchema(siTables, EmptyParam, EmptyParam,
    //    self.ADODataSet1);
    {//可以提供的数据类型
    ADOConnection1.OpenSchema(siProviderTypes, EmptyParam, EmptyParam,
        self.ADODataSet1);}
    {//获得主键
    ADOConnection1.OpenSchema(siPrimaryKeys, EmptyParam, EmptyParam,
        self.ADODataSet1);
        }
    {//获得有哪些用户
    ADOConnection1.OpenSchema(siSchemata, EmptyParam, EmptyParam,
        self.ADODataSet1);
        }
   {//数据库提供者特有的关键字的列表,如oracle中的关键字 if then else
    ADOConnection1.OpenSchema(siDBInfoKeywords, EmptyParam, EmptyParam,
        self.ADODataSet1);
        }
      {   //文本命令中使用的文字的列表,这些文字是提供者特有的,如oracle中的关键字 table_name,view_name
    ADOConnection1.OpenSchema(siDBInfoLiterals, EmptyParam, EmptyParam,
        self.ADODataSet1);}
  //文本命令中使用的文字的列表,这些文字是提供者特有的,如oracle中的关键字 table_name,view_name
    ADOConnection1.OpenSchema(siDBInfoLiterals, EmptyParam, EmptyParam,
        self.ADODataSet1); }
end;

end.

 

posted @ 2009-05-30 22:29  闫磊博客  阅读(774)  评论(0)    收藏  举报