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

📄 ufrmqryado.pas

📁 数据库通用工具
💻 PAS
字号:
unit UfrmQryADO;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, ADODB, StdCtrls, Buttons, Grids, DBGrids;

type
  TfrmQryADO = class(TForm)
    adoConnection: TADOConnection;
    bbtOpen: TBitBtn;
    OpenDialog1: TOpenDialog;
    editPath: TEdit;
    ADOQuery1: TADOQuery;
    DBGrid1: TDBGrid;
    DataSource1: TDataSource;
    editUser: TEdit;
    editPass: TEdit;
    bbtLink: TBitBtn;
    bbtQry: TBitBtn;
    mo: TMemo;
    bbtUnLink: TBitBtn;
    bbtClose: TBitBtn;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    ListBox1: TListBox;
    procedure LinkADO();
    procedure bbtOpenClick(Sender: TObject);
    procedure bbtLinkClick(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure bbtQryClick(Sender: TObject);
    procedure bbtUnLinkClick(Sender: TObject);
    procedure bbtCloseClick(Sender: TObject);
    procedure ListBox1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmQryADO: TfrmQryADO;

implementation

{$R *.dfm} 

procedure TfrmQryADO.LinkADO();
var
  vdir,ss : String;
  slt:TStringList;
  i:integer;
begin
  vDir := ExtractFilePath(application.ExeName);
  adoConnection.Connected := false;
  bbtLink.Enabled := false;
  bbtUnLink.Enabled := false;
  {
  Provider=MSDASQL.1;
  Password=why;
  Persist Security Info=True;
  User ID=admin;
  Extended Properties="DBQ=E:\card\cardBase.mdb;
  DefaultDir=E:\delphi\card;Driver={Microsoft Access Driver (*.mdb)};       //}

  {
  DriverId=25;
  Exclusive=1;
  FIL=MS Access;
  MaxBufferSize=2048;
  MaxScanRows=8;
  PageTimeout=5;
  ReadOnly=0;
  SafeTransactions=0;
  Threads=3;
  UID=admin;
  UserCommitSync=Yes;"
  //}

  //adoConnection.ConnectionString := 'Provider=MSDASQL.1;Password=why;'+
  //    'Persist Security Info=True;User ID=admin;Extended Properties="'+
  //    'DBQ='+vdir+'cardBase.mdb;'+
  //    'Driver={Microsoft Access Driver (*.mdb)};'+
  //    'DriverId=25;Exclusive=1;FIL=MS Access;MaxBufferSize=2048;MaxScanRows=8;'+
  //    'PageTimeout=5;ReadOnly=0;SafeTransactions=0;Threads=3;UID=admin;"';
  //}
  adoConnection.ConnectionString := 'Provider=MSDASQL.1;Password='+editPass.Text+';'+
      'Persist Security Info=True;User ID='+editUser.text+';Extended Properties="'+
      'DBQ='+editPath.Text+';'+
      'Driver={Microsoft Access Driver (*.mdb)};'+
      'DriverId=25;Exclusive=1;FIL=MS Access;MaxBufferSize=2048;MaxScanRows=8;'+
      'PageTimeout=5;ReadOnly=0;SafeTransactions=0;Threads=3;UID='+editUser.text+';"';

  try
    adoConnection.Connected := true;
  except
    exit;
  end;
  
  listbox1.Items.Clear;
  slt := TStringList.Create();
  adoConnection.GetTableNames(slt,false);//B
  for i := 0 to slt.Count-1 do
  begin
    ss := slt.Strings[i];
    //ss := copy(ss,5,length(ss)-4);
    listbox1.Items.Add( ss );
  end;
  slt.Free;
  
  bbtUnLink.Enabled := true;
  bbtQry.Enabled := true;
  
end;

procedure TfrmQryADO.bbtOpenClick(Sender: TObject);
begin

  bbtLink.Enabled := false;
  editPath.Text := '';
  
  if OpenDialog1.Execute then
  begin
    editPath.Text := OpenDialog1.FileName;
    bbtLink.Enabled := true;
  end;

end;

procedure TfrmQryADO.bbtLinkClick(Sender: TObject);
begin
  LinkADO;
end;

procedure TfrmQryADO.FormDestroy(Sender: TObject);
begin
  adoConnection.Connected := false;
end;

procedure TfrmQryADO.bbtQryClick(Sender: TObject);
begin
  ADOQuery1.Close;
  ADOQuery1.SQL.Text := mo.Text ;
  try
    ADOQuery1.Open;
  except

  end;

end;

procedure TfrmQryADO.bbtUnLinkClick(Sender: TObject);
begin
  adoConnection.Connected := false;
  bbtLink.Enabled := true;
  bbtUnLink.Enabled := false;
  bbtQry.Enabled := false;
  listbox1.Items.Clear;
end;

procedure TfrmQryADO.bbtCloseClick(Sender: TObject);
begin
  Close;
end;

procedure TfrmQryADO.ListBox1Click(Sender: TObject);
var
  ss:string;
begin
  if ListBox1.Items.Count > 0 then
  begin
     ss := ListBox1.Items.Strings[ListBox1.ItemIndex];
     mo.Text := 'select * from '+ss;
  end;

end;

end.

⌨️ 快捷键说明

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