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.