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

📄 frmmain1.pas

📁 MDB数据库管理系统 MDB数据库管理系统
💻 PAS
字号:
unit frmmain1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGridEh, RzTabs, ComCtrls, RzTreeVw, RzSplit, Menus,shellapi,
  ToolWin, ExtCtrls, RzPanel, ADODB, DB, ehlibado, DBCtrls, RzStatus, ImgList,DBGridEhImpExp,
  StdCtrls, RzEdit, Buttons;

type
  Tfrmmain = class(TForm)
    RzStatusBar1: TRzStatusBar;
    mm1: TMainMenu;
    tlb1: TToolBar;
    N22551: TMenuItem;
    RzSizePanel1: TRzSizePanel;
    tv1: TRzTreeView;
    RzPageControl1: TRzPageControl;
    TabSheet1: TRzTabSheet;
    TabSheet2: TRzTabSheet;
    TabSheet3: TRzTabSheet;
    ds1: TDataSource;
    con1: TADOConnection;
    qry1: TADOQuery;
    cmd1: TADOCommand;
    btn1: TToolButton;
    dlgOpen1: TOpenDialog;
    pnl1: TPanel;
    dbnvgr1: TDBNavigator;
    grid1: TDBGridEh;
    RzClockStatus1: TRzClockStatus;
    RzStatusPane1: TRzStatusPane;
    bar3: TRzStatusPane;
    btn2: TToolButton;
    btn3: TToolButton;
    btn4: TToolButton;
    il1: TImageList;
    btn5: TToolButton;
    dlgSave1: TSaveDialog;
    N1: TMenuItem;
    N2: TMenuItem;
    pnl2: TPanel;
    RzMemo1: TRzMemo;
    btn6: TBitBtn;
    btn7: TBitBtn;
    btn8: TToolButton;
    pnl3: TPanel;
    btn9: TBitBtn;
    btn10: TBitBtn;
    RzMemo2: TRzMemo;
    RzSizePanel2: TRzSizePanel;
    grid2: TDBGridEh;
    ds2: TDataSource;
    qry2: TADOQuery;
    procedure btn1Click(Sender: TObject);
    procedure setgridsort(mDBGrid: TDBGrideh);
    procedure tv1Change(Sender: TObject; Node: TTreeNode);
    procedure btn4Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure btn2Click(Sender: TObject);
    procedure urlink(url:pchar);    //打开外部文件
    procedure outexcel(dataset:TADOQuery;grid1:TDBGridEh);
    procedure btn3Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure btn7Click(Sender: TObject);
    procedure btn6Click(Sender: TObject);
    procedure btn8Click(Sender: TObject);
    procedure btn9Click(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
  end;
const
  SConnectionString='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;'
                    +'Jet OLEDB:Database Password=%s;';

var
  frmmain: Tfrmmain;
  dbname:string;//数据库名
  isquit:Boolean;
implementation

{$R *.dfm}
procedure Tfrmmain.outexcel(dataset:TADOQuery;grid1:TDBGridEh);
var
  s1:string;
begin
 if dataset.isempty then Application.MessageBox('没有数据输出','错误', MB_OK +MB_ICONSTOP)
 else
 begin
   frmmain.dlgsave1.filename:='';
   frmmain.dlgsave1.filter:='EXCEL文件(*.xls)|*.xls';
   frmmain.dlgsave1.Execute;
   if frmmain.dlgsave1.filename<>'' then   //是否已打开文件
   begin
     s1:=trim(frmmain.dlgsave1.filename);
     if StrPos(PChar(s1), PChar('.xls'))=nil then s1:=trim(frmmain.dlgsave1.filename)+'.xls';
     SaveDBGridEhToExportFile(TDBGridEhExportAsxls,Grid1,s1,true);
     if MessageDlg('文件'+s1+'已建立,是否打开文件?', mtInformation, [mbOK, mbCancel], 0)=mrOK then frmmain.urlink(pchar(s1));
    end;
  end;
end;

procedure Tfrmmain.setgridsort(mDBGrid: TDBGrideh);
var
i:integer;
begin
 mdbgrid.SortLocal:=true;
 mdbgrid.OptionsEh:=[dghFixed3D,dghHighlightFocus,dghClearSelection,dghAutoSortMarking,dghEnterAsTab,dghDialogFind];
 for i:=0 to mdbgrid.columns.count-1 do  if mdbgrid.columns[i].Visible then mdbgrid.columns[i].Title.TitleButton:=true;
end;

procedure Tfrmmain.urlink(url:pchar);    //打开外部文件
var
  s:integer;
begin
  s:=shellexecute(0,nil,url,nil,nil,sw_normal);
  if s=2 then MessageDlg('文件不存在', mtInformation, [mbOK], 0);
  if s=31 then MessageDlg('没有相关联的程序打开文件。', mtInformation, [mbOK], 0);
end;

procedure Tfrmmain.btn1Click(Sender: TObject);
var
 liststr:TStringList;
 i:Integer;
 ss:TTreeNode;
begin

 dbname:='';
 dlgOpen1.Execute;
 dbname:=dlgopen1.filename;
 if trim(dbname)<>'' then
 begin
  //===判定是否是数据文件
  if Con1.Connected then Con1.Close;
  con1.ConnectionString:=format(SConnectionString,[dbname,'']);
  try
   con1.Open;
  except
    showmessage(dlgopen1.filename+'不是数据库文件');
    abort;
  end;
  bar3.Caption:=dbname;
  tv1.Items.Clear;
  liststr:=TStringList.Create;
  con1.GetTableNames(liststr,false);
  for i:=0 to liststr.Count-1 do
   begin
     tv1.Items.AddChild(ss,liststr.Strings[i]);
   end;
  liststr.Free;
 end;
end;

procedure Tfrmmain.tv1Change(Sender: TObject; Node: TTreeNode);
begin
  if isquit then Abort;
  qry1.Close;
  qry1.SQL.Clear;
  qry1.SQL.Add('select * from '+tv1.Selected.Text);
  tv1.Cursor:=crHourGlass;

  qry1.DisableControls;
  qry1.Open;
  setgridsort(grid1);
  qry1.EnableControls;
  tv1.Cursor:=crDefault;
end;

procedure Tfrmmain.btn4Click(Sender: TObject);
begin
frmmain.close;
end;

procedure Tfrmmain.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if con1.Connected then con1.close;
end;

procedure Tfrmmain.btn2Click(Sender: TObject);
begin
con1.Close;
isquit:=True;
tv1.Items.Clear;
bar3.Caption:='';
isquit:=False;
end;

procedure Tfrmmain.btn3Click(Sender: TObject);
begin
if not qry1.active then
begin
ShowMessage('没有数据表没有打开');
Abort;
end;

if qry1.IsEmpty then
begin
ShowMessage('没有数据导出');
Abort;
end;

outexcel(qry1,grid1);
end;

procedure Tfrmmain.FormShow(Sender: TObject);
begin
isquit:=False;
end;

procedure Tfrmmain.btn7Click(Sender: TObject);
begin
RzMemo1.Clear;
end;

procedure Tfrmmain.btn6Click(Sender: TObject);
begin
if not con1.Connected then
begin
ShowMessage('数据库文件没有打开');
Abort;
end;
cmd1.CommandText:=RzMemo1.Text;
 try
   cmd1.Execute;
 except
    showmessage('没有执行成功,请检查SQL语句');
    abort;
  end;
ShowMessage('已成功执行');

end;

procedure Tfrmmain.btn8Click(Sender: TObject);
begin
if qry1.Active then
begin
qry1.Close;
qry1.Open;
end;
end;

procedure Tfrmmain.btn9Click(Sender: TObject);
begin
if not con1.Connected then
begin
ShowMessage('数据库文件没有打开');
Abort;
end;
qry2.Close;
qry2.SQL.Clear;
qry2.SQL.Add(RzMemo2.Text);
//cmd1.CommandText:=RzMemo1.Text;
 try
   qry2.open;
 except
    showmessage('没有执行成功,请检查SQL语句');
    abort;
  end;
ShowMessage('已成功执行');
end;

end.

⌨️ 快捷键说明

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