【delphi开源代码栏目提醒】:网学会员在delphi开源代码频道为大家收集整理了fMetaDataMain.pas提供大家参考,希望对大家有所帮助!
unit fMetaDataMain;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DBXpress, FMTBcd, ExtCtrls, DBCtrls, Provider, SqlExpr, DB,
DBClient, Grids, DBGrids, StdCtrls, Buttons;
type
TForm1 = class(TForm)
DBGrid1: TDBGrid;
DataSource1: TDataSource;
ClientDataSet1: TClientDataSet;
SQLDataSet1: TSQLDataSet;
DataSetProvider1: TDataSetProvider;
DBNavigator1: TDBNavigator;
rgMetaDataKind: TRadioGroup;
bbtnMetaData: TBitBtn;
bbtnClose: TBitBtn;
SQLConnection1: TSQLConnection;
procedure bbtnMetaDataClick(Sender: TObject);
private
{ Private declarations }
procedure DoGetNoSchema;
procedure DoGetTables;
procedure DoGetSysTables;
procedure DoGetProcedures;
procedure DoGetColumns;
procedure DoGetProcedureParams;
procedure DoGetIndexes;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses uMetaData;
{$R *.dfm}
procedure TForm1.bbtnMetaDataClick(Sender: TObject);
begin
case rgMetaDataKind.ItemIndex of
0 : DoGetNoSchema;
1 : DoGetTables;
2 : DoGetSysTables;
3 : DoGetProcedures;
4 : DoGetColumns;
5 : DoGetProcedureParams;
6 : DoGetIndexes;
end;
end;
procedure TForm1.DoGetColumns;
var
dbMetaData : TdbExpressMetaData;
begin
dbMetaData := TdbExpressMetaData.Create(Self);
try
dbMetaData.SQLConnection := SQLConnection1;
dbMetaData.MetaDataSet := ClientDataSet1;
dbMetaData.GetColumns('PRODUCTS');
finally
dbMetaData.Free;
end;
end;
procedure TForm1.DoGetIndexes;
var
dbMetaData : TdbExpressMetaData;
begin
dbMetaData := TdbExpressMetaData.Create(Self);
try
dbMetaData.SQLConnection := SQLConnection1;
dbMetaData.MetaDataSet := ClientDataSet1;
dbMetaData.GetIndexes('PRODUCTS');
finally
dbMetaData.Free;
end;
end;
procedure TForm1.DoGetNoSchema;
var
dbMetaData : TdbExpressMetaData;
begin
dbMetaData := TdbExpressMetaData.Create(Self);
try
dbMetaData.SQLConnection := SQLConnection1;
dbMetaData.MetaDataSet := ClientDataSet1;
dbMetaData.GetNoSchema;
finally
dbMetaData.Free;
end;
end;
procedure TForm1.DoGetProcedureParams;
var
dbMetaData : TdbExpressMetaData;
begin
dbMetaData := TdbExpressMetaData.Create(Self);
try
dbMetaData.SQLConnection := SQLConnection1;
dbMetaData.MetaDataSet := ClientDataSet1;
dbMetaData.GetProcedureParameters('ADDTESTDATA');
finally
dbMetaData.Free;
end;
end;
procedure TForm1.DoGetProcedures;
var
dbMetaData : TdbExpressMetaData;
begin
dbMetaData := TdbExpressMetaData.Create(Self);
try
dbMetaData.SQLConnection := SQLConnection1;
dbMetaData.MetaDataSet := ClientDataSet1;
dbMetaData.GetProcedures;
finally
dbMetaData.Free;
end;
end;
procedure TForm1.DoGetSysTables;
var
dbMetaData : TdbExpressMetaData;
begin
dbMetaData := TdbExpressMetaData.Create(Self);
try
dbMetaData.SQLConnection := SQLConnection1;
dbMetaData.MetaDataSet := ClientDataSet1;
dbMetaData.GetSystemTables;
finally
dbMetaData.Free;
end;
end;
procedure TForm1.DoGetTables;
var
dbMetaData : TdbExpressMetaData;
begin
dbMetaData := TdbExpressMetaData.Create(Self);
try
dbMetaData.SQLConnection := SQLConnection1;
dbMetaData.MetaDataSet := ClientDataSet1;
dbMetaData.GetTables(False);
finally
dbMetaData.Free;
end;
end;
end.