⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 selecttable.pas

📁 导出ORACLE 8/9系列的表空间结构并打印
💻 PAS
字号:
unit SelectTable;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, SUIForm, SUIButton, StdCtrls, CheckLst,
  SUICheckListBox, SUIScrollBar, SUIListBox, SUIImagePanel, SUIGroupBox,
  DALoader, OraLoader, DB, Ora, MemDS, DBAccess, OraSmart, SUIMemo,
  SUIRadioGroup, SUIComboBox, Grids, DBGrids, SUIDBCtrls, SUIDlg, DBGridEh;

type
  TFrmSelTbl = class(TForm)
    suiForm1: TsuiForm;
    suiGroupBox1: TsuiGroupBox;
    suiGroupBox2: TsuiGroupBox;
    suiGroupBox3: TsuiGroupBox;
    suiGroupBox4: TsuiGroupBox;
    BtnSelAll: TsuiButton;
    BtnCancelAll: TsuiButton;
    BtnOk: TsuiButton;
    BtnClose: TsuiButton;
    Splitter1: TSplitter;
    Splitter2: TSplitter;
    suiMessageDialog1: TsuiMessageDialog;
    DBGridEh1: TDBGridEh;
    DBGridEh2: TDBGridEh;
    DBGridEh3: TDBGridEh;
    suiButton1: TsuiButton;
    suiInputDialog1: TsuiInputDialog;
    procedure FormShow(Sender: TObject);
    procedure BtnSelAllClick(Sender: TObject);
    procedure BtnCancelAllClick(Sender: TObject);
    procedure suiCheckListBox1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure BtnOkClick(Sender: TObject);
    procedure BtnCloseClick(Sender: TObject);
    procedure suiButton1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FrmSelTbl: TFrmSelTbl;

implementation

uses DataModule, PubUnit;

{$R *.dfm}

procedure TFrmSelTbl.FormShow(Sender: TObject);
var BT : Boolean ;
begin
  BT := Datamodule1.OraSession1.Connected ;
  BtnOk.Enabled := BT ;
  if BT then
  begin
    with DataModule1.oraQuery_TableSpaces do
    begin
      Close ;
      Open ;
    end;    // with
    with DataModule1.OraQuery_Table do
    begin
      Close ;
      Open ;
    end;    // with
    with DataModule1.OraQuery_Column do
    begin
      Close ;
      Open ;
    end;    // with
  end;
end;

procedure TFrmSelTbl.BtnSelAllClick(Sender: TObject);
begin
  DBGridEh2.SelectedRows.SelectAll ;
end;

procedure TFrmSelTbl.BtnCancelAllClick(Sender: TObject);
begin
  DBGridEh2.SelectedRows.Clear ;
end;

procedure TFrmSelTbl.suiCheckListBox1Click(Sender: TObject);
var Index,iPos : Integer ;
    TableName,Str : String;
begin
end;

procedure TFrmSelTbl.FormCreate(Sender: TObject);
begin
  ChangeInterFace(Self,suiForm1);
end;

procedure TFrmSelTbl.BtnOkClick(Sender: TObject);
var i,Count : integer ;
begin
  Count := DBGridEh2.SelectedRows.Count ;
  if Count < 1 then
  begin
     suiMessageDialog1.Caption := Self.Caption ;
     suiMessageDialog1.ButtonCount := 1;
     suiMessageDialog1.Button1ModalResult := mrOk;
     suiMessageDialog1.Text := '请从数据表对象列表中选择数据表!';
     suiMessageDialog1.Button1Caption := '确定';
     suiMessageDialog1.IconType := suiWarning;
     suiMessageDialog1.ShowModal ;
     Exit;
  end;
  with Datamodule1.VirtualTable1 do
  begin
    while RecordCount > 0 do Delete ;
  end;    // with
  for i := 0 to Count - 1 do
  begin
     DBGridEh2.DataSource.DataSet.GotoBookmark(pointer(DBGridEh2.SelectedRows.Items[i]));
     with DataModule1 do
     begin
       VirtualTable1.Append ;
       VirtualTable1.FieldByName('TABLE_NAME').AsString :=
               DBGridEh2.DataSource.DataSet.FieldByName('TABLE_NAME').AsString ;
       VirtualTable1.FieldByName('TABLESPACE_NAME').AsString :=
               DBGridEh2.DataSource.DataSet.FieldByName('TABLESPACE_NAME').AsString ;
       VirtualTable1.FieldByName('TABLE_TYPE').AsString :=
               DBGridEh2.DataSource.DataSet.FieldByName('TABLE_TYPE').AsString ;
       VirtualTable1.FieldByName('COMMENTS').AsString :=
               DBGridEh2.DataSource.DataSet.FieldByName('COMMENTS').AsString ;
     end;    // with
  end;
  with DataModule1.SmartQuery1 do
  begin
    Close ;
    Open ;
  end;    // with
  Close ;
end;

procedure TFrmSelTbl.BtnCloseClick(Sender: TObject);
begin
  Close ;
end;

//========查找
procedure TFrmSelTbl.suiButton1Click(Sender: TObject);
var Str : String;
begin
  suiInputDialog1.ValueText := '';
  if suiInputDialog1.ShowModal = MrCancel then Exit ;
  Str := Trim(UpperCase(suiInputDialog1.ValueText)) ;
  if Str = '' then Exit ;
  with DataModule1.OraQuery_Table  do
  begin
    if not Locate('TABLE_NAME',Str,[loPartialKey]) then
    begin
      suiMessageDialog1.Caption := '查找表对象失败!';
      suiMessageDialog1.Text := '根据所输入的表名称['+Str+']查找表对象失败,请仔细检查!';
      suiMessageDialog1.ShowModal ;
    end;
  end;    // with
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -