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

📄 main.pas

📁 ODAC+SDAC源代码
💻 PAS
字号:
unit Main;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  DBCtrls, ExtCtrls, Db, Grids, DBGrids,  StdCtrls, ToolWin,
  ComCtrls,  Buttons, MemDS, DBAccess, MSAccess, OLEDBAccess, SdacVcl;

type
  TfmMain = class(TForm)
    MSConnection: TMSConnection;
    DBGrid: TDBGrid;
    DataSource: TDataSource;
    ToolBar: TPanel;
    btOpen: TButton;
    DBNavigator: TDBNavigator;
    btClose: TButton;
    Memo: TMemo;
    MSQuery: TMSQuery;
    MSConnectDialog: TMSConnectDialog;
    btConnect: TButton;
    btDisconnect: TButton;
    StatusBar: TStatusBar;
    Splitter1: TSplitter;
    RadioGroup1: TRadioGroup;
    procedure btOpenClick(Sender: TObject);
    procedure btCloseClick(Sender: TObject);
    procedure btConnectClick(Sender: TObject);
    procedure btDisconnectClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure RadioGroup1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    { Private declarations }
    sl: TStringList;
  public
    { Public declarations }
  end;

var
  fmMain: TfmMain;

implementation

{$R *.DFM}

procedure TfmMain.btOpenClick(Sender: TObject);
var
  dt: TDateTime;
  
begin
  MSQuery.Connection.Open;

  MSQuery.SQL.Assign(Memo.Lines);

  StatusBar.Panels[0].Text := RadioGroup1.Items[RadioGroup1.ItemIndex];
  StatusBar.Update;

  dt := Now;
  MSQuery.Open;
  StatusBar.Panels[1].Text := 'MSQuery.Open time = ' + TimeToStr(Now - dt);
  RadioGroup1.Items[RadioGroup1.ItemIndex] := sl[RadioGroup1.ItemIndex] + '    Open = ' + TimeToStr(Now - dt);
  StatusBar.Update;
  
  dt := Now;
  MSQuery.Last;
  StatusBar.Panels[2].Text := 'MSQuery.Last time = ' + TimeToStr(Now - dt);
  RadioGroup1.Items[RadioGroup1.ItemIndex] := RadioGroup1.Items[RadioGroup1.ItemIndex] + ', Last = ' + TimeToStr(Now - dt);
  StatusBar.Update;
end;

procedure TfmMain.btCloseClick(Sender: TObject);
begin
  MSQuery.Close;
end;

procedure TfmMain.btConnectClick(Sender: TObject);
begin
  MSConnection.Connect;
end;

procedure TfmMain.btDisconnectClick(Sender: TObject);
begin
  MSConnection.Disconnect;
end;

procedure TfmMain.FormShow(Sender: TObject);
begin
  Memo.Lines.Text := MSQuery.SQL.Text;
  
  if MSQuery.CursorType = ctDefaultResultSet then
    RadioGroup1.ItemIndex := 0
  else
    RadioGroup1.ItemIndex := 2;
end;

procedure TfmMain.RadioGroup1Click(Sender: TObject);
begin
  MSQuery.Close;
  if RadioGroup1.ItemIndex = 0 then begin
    MSQuery.CursorType := ctDefaultResultSet;
    MSQuery.FetchAll := True;
  end
  else
  if RadioGroup1.ItemIndex = 1 then begin
    MSQuery.CursorType := ctDefaultResultSet;
    MSQuery.FetchAll := False;
  end
  else
    MSQuery.CursorType := ctKeySet;
end;

procedure TfmMain.FormCreate(Sender: TObject);
begin
  sl := TStringList.Create;
  sl.Assign(RadioGroup1.Items);
end;

procedure TfmMain.FormDestroy(Sender: TObject);
begin
  sl.Free;
end;

initialization

end.

⌨️ 快捷键说明

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