亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? ufrmreadaccess.pas

?? 數(shù)據(jù)庫(kù)通用工具
?? PAS
字號(hào):
unit UfrmReadAccess;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, UfrmModel, ActnList, Menus, DB, ADODB, StdCtrls, CheckLst,
  Grids, DBGrids, Buttons, ExtCtrls;

type
  TfrmReadAccess = class(TfrmModel)
    PopupMenu3: TPopupMenu;
    N5: TMenuItem;
    N6: TMenuItem;
    N7: TMenuItem;
    OpenDialog2: TOpenDialog;
    adoConnection: TADOConnection;
    ADOQuery1: TADOQuery;
    ADOQuery2: TADOQuery;
    ADOQuery3: TADOQuery;
    DataSource1: TDataSource;
    PopupMenu2: TPopupMenu;
    N3: TMenuItem;
    N4: TMenuItem;
    Panel3: TPanel;
    Panel5: TPanel;
    labPathA: TLabel;
    bbtOpenA: TBitBtn;
    Panel6: TPanel;
    DBGrid1: TDBGrid;
    Panel8: TPanel;
    Panel7: TPanel;
    labBS: TLabel;
    labJL: TLabel;
    cbxTable: TComboBox;
    grpZD: TGroupBox;
    CheckListBox1: TCheckListBox;
    Panel10: TPanel;
    btnRefresh: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    Panel1: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    editUser: TEdit;
    editPass: TEdit;
    mo: TMemo;
    BitBtn1: TBitBtn;
    procedure bbtOpenAClick(Sender: TObject);
    function LinkADO( sPathName: string ) : boolean;
    procedure cbxTableChange(Sender: TObject);
    procedure N5Click(Sender: TObject);
    procedure N6Click(Sender: TObject);
    procedure N7Click(Sender: TObject);
    procedure listField( tbName : string );
    procedure btnRefreshClick(Sender: TObject);
    procedure N3Click(Sender: TObject);
    procedure N4Click(Sender: TObject);
    procedure DBGrid1DblClick(Sender: TObject);
    procedure DBGrid1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    
  private
    { Private declarations }
    mdbUser,mdbPass : String;
  public
    { Public declarations }
  end;

var
  frmReadAccess: TfrmReadAccess;
    
implementation

uses UfrmAccessSet, Udbm;

{$R *.dfm}

function TfrmReadAccess.LinkADO( sPathName: string ) : boolean;
var
  ss : String;
  slt:TStringList;
  i:integer;
begin
  cbxTable.Items.Clear;
  Result := False;                   
//  vDir := ExtractFilePath(application.ExeName);
  if not FileExists( sPathName ) then Exit;

  if adoConnection.Connected then
    adoConnection.Connected := 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;"';
  //}
  mdbUser := 'admin';
//  mdbPass := '';

  adoConnection.ConnectionString := 'Provider=MSDASQL.1;Password='+mdbPass+';'+
      'Persist Security Info=True;User ID='+mdbUser+';Extended Properties="'+
      'DBQ='+sPathName+';'+
      '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='+mdbUser+';"';

  try
    adoConnection.Connected := true;
  except
    exit;
  end;

  Result := adoConnection.Connected;

  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);
    cbxTable.Items.Add( ss );
  end;
  slt.Free;

end;

procedure TfrmReadAccess.bbtOpenAClick(Sender: TObject);
var
  aPassWord : PassType;
begin
  inherited;
  //
  labPathA.Caption := '';
  labBS.Caption := labBS.Hint;
  grpZD.Caption := '字段';
  labJL.Caption := labJL.Hint;
  cbxTable.Items.Clear;
  CheckListBox1.Items.Clear;

  ADOQuery1.Close;
  ADOQuery2.Close;
  ADOQuery3.Close;
  
  if adoConnection.Connected then
    adoConnection.Connected := false;
    
  if OpenDialog2.Execute then
  begin
    labPathA.Caption := OpenDialog2.FileName;

    aPassWord := ExecAccessFile( labPathA.Caption );
    mdbPass := aPassWord.PassCode;

    editUser.Text := aPassWord.FileType;
    editPass.Text := aPassWord.PassCode;

//    addMo( 'PassCode = '+ aPassWord.PassCode );
//    addMo( '該數(shù)據(jù)庫(kù)是:' + aPassWord.FileType );
//    addMo( FormatDateTime( 'yyyy-m-d h:mm:ss',aPassWord.FileTime) );

    if LinkADO( labPathA.Caption ) then
    begin
      labBS.Caption := labBS.Hint + IntToStr( cbxTable.Items.Count );
      grpZD.Caption := '字段';
      labJL.Caption := labJL.Hint;
    end;
  end;
  
end;

procedure TfrmReadAccess.listField( tbName : string );
var
  ss:string;
  i,a:integer;
begin
  //
  CheckListBox1.Items.Clear;
  grpZD.Caption := '字段';
  labJL.Caption := labJL.Hint;

  with ADOQuery1 do
  begin
    Close;
    SQL.Text := 'select * from ['+tbName+']';
      
    try
      Open;
    except
      exit;
    end;

    grpZD.Caption := '字段 ( '+IntToStr( ADOQuery1.FieldCount )+' )';//字段數(shù)
    labJL.Caption := labJL.Hint + IntToStr( ADOQuery1.RecordCount );//記錄數(shù)
  end;

  a := ADOQuery1.FieldCount;
  for i := 0 to a-1 do
  begin
    ss := ADOQuery1.Fields.Fields[i].FieldName;
    
//    addMo( FullString(ss,' ',10,false)
//          +FullString(' | '+getFieldType( ADOQuery1.Fields.Fields[i].ClassName )
//          +'【'+IntToStr( ADOQuery1.Fields.Fields[i].Size )+'】',' ',18,false)
//          +' | '+ADOQuery1.Fields.Fields[i].ClassName );

    CheckListBox1.Items.Add( ss );
    CheckListBox1.Checked[i] := true;  
  end;
  
end;

procedure TfrmReadAccess.cbxTableChange(Sender: TObject);
var
  ss:string;
begin
  inherited;
  //
  cbxTable.Hint := '';
  ss := cbxTable.Text;
  if pos('.',ss)<>0 then
  begin
    exit;
  end;

  //防止重復(fù)刷新
  if SameText( ss,cbxTable.Hint ) then
  begin
    exit;
  end;

  mo.Text := 'select * from '+ss;
  
  cbxTable.Hint := ss;
  listField(ss);
  btnRefresh.Click;
end;

procedure TfrmReadAccess.N5Click(Sender: TObject);
var
  i : Integer;
begin
  inherited;
  //反選 &1
  for i := 0 to CheckListBox1.Items.Count-1  do
  begin
    CheckListBox1.Checked[i] := not CheckListBox1.Checked[i];
  end;
end;

procedure TfrmReadAccess.N6Click(Sender: TObject);
var
  i : Integer;
begin
  inherited;
  //不選 &2
  for i := 0 to CheckListBox1.Items.Count-1  do
  begin
    CheckListBox1.Checked[i] := False;
  end;
end;

procedure TfrmReadAccess.N7Click(Sender: TObject);
var
  i : Integer;
begin
  inherited;
  //全選 &3
  for i := 0 to CheckListBox1.Items.Count-1  do
  begin
    CheckListBox1.Checked[i] := True;
  end;
end;

procedure TfrmReadAccess.btnRefreshClick(Sender: TObject);
var
  i,k : Integer;
  ss : string;
begin
  inherited;
  //
  if Trim(cbxTable.Hint)='' then Exit;
  if not adoConnection.Connected then Exit;
  
  ADOQuery2.Close;
  ADOQuery2.Filtered := False;
  ADOQuery2.Filter := '';
  ADOQuery2.SQL.Text := 'select';

  k := 0;
  for i := 0 to CheckListBox1.Items.Count-1 do
  begin
    if CheckListBox1.Checked[i] then
    begin
      ss := CheckListBox1.Items.Strings[i];
      if k>0 then
      begin
        ss := ',['+ ss+']';
      end;
      ADOQuery2.SQL.Add( ss );
      Inc(k)
    end;
  end;

  if k<=0 then Exit;
  ADOQuery2.SQL.Add( ' from ['+cbxTable.Hint+']' );

  mo.Text := ADOQuery2.SQL.Text;

  try
//    mo.Text := ADOQuery2.SQL.Text;
    ADOQuery2.Open;
  except
  end;  
end;

procedure TfrmReadAccess.N3Click(Sender: TObject);
var
  ss,sv : string;
begin
  inherited;
  //過(guò)濾 &G
  if not adoConnection.Connected then Exit;
  if not ADOQuery2.Active then Exit;

  ss := getFieldTypeSQL( DBGrid1.SelectedField.ClassName );
  if SameText( ss,'image' )
    or SameText( ss,'text' )
    or SameText( ss,'--' ) then
  begin
    ShowMessage( '此字段的類型不能進(jìn)行過(guò)濾!' );
    Exit;
  end;

  ss := DBGrid1.SelectedField.FieldName;
  sv := ADOQuery2.FieldByName( ss ).AsString;

  ADOQuery2.Filtered := False;
  ADOQuery2.Filter := ss+'='+QuotedStr( sv );
//  ADOQuery2.Filter := ss+'='+sv;
  ADOQuery2.Filtered := True;
  labJL.Caption := labJL.Hint + IntToStr( ADOQuery2.RecordCount );//記錄數(shù)

//  addMo( ADOQuery2.Filter );

end;

procedure TfrmReadAccess.N4Click(Sender: TObject);
begin
  inherited;
  //全部 &A
  if not adoConnection.Connected then Exit;
  if not ADOQuery2.Active then Exit;

  ADOQuery2.Filtered := False;
  ADOQuery2.Filter := '';
  ADOQuery2.Filtered := True;
  labJL.Caption := labJL.Hint + IntToStr( ADOQuery2.RecordCount );//記錄數(shù)
end;

procedure TfrmReadAccess.DBGrid1DblClick(Sender: TObject);
begin
  inherited;
  N3.Click;
end;

procedure TfrmReadAccess.DBGrid1MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  inherited;
  if Button = mbRight then
  begin
    N4.Click;
  end;

  if Button = mbLeft then
  begin
//    ssShift, ssAlt, ssCtrl,ssLeft, ssRight, ssMiddle, ssDouble
    if ssCtrl in Shift then
    begin

    end;

  end;
end;

procedure TfrmReadAccess.BitBtn2Click(Sender: TObject);
var
  StrList : TStrings;
  i : Integer;
begin
  inherited;
  //保存配置
//  if Trim(cbxTable.Hint)='' then Exit;
  if Trim(cbxTable.Text)='' then Exit;
  if not adoConnection.Connected then Exit;
  if CheckListBox1.Items.Count<=0 then Exit;

  strList := TStringList.Create;
//  k := 0;
  for i := 0 to CheckListBox1.Items.Count-1 do
  begin
    if CheckListBox1.Checked[i] then
    begin
      strList.Add( CheckListBox1.Items.Strings[i] );
//      Inc(k)
    end;
  end;

  if strList.Count<=0 then
  begin
    strList.Free;
    Exit;
  end;

  Application.CreateForm(TfrmAccessSet,frmAccessSet);
  frmAccessSet.sTBName := cbxTable.Text;
  frmAccessSet.StrList.Assign(strList);
  frmAccessSet.Hint := 'add';
  frmAccessSet.ShowModal;
  frmAccessSet.Free;

//  strList.Add(sFileName);
//  strList.SaveToFile( sto );
  strList.Free;
end;

procedure TfrmReadAccess.BitBtn3Click(Sender: TObject);
var
  StrList : TStrings;
  i,iRet : Integer;
  ss : string;
begin
  inherited;
  //讀取配置
  if Trim(cbxTable.Text)='' then Exit;
  if not adoConnection.Connected then Exit;
  if CheckListBox1.Items.Count<=0 then Exit;

  strList := TStringList.Create;

  Application.CreateForm(TfrmAccessSet,frmAccessSet);
  frmAccessSet.sTBName := cbxTable.Text;
  frmAccessSet.Hint := 'read';
  iRet := frmAccessSet.ShowModal;
  if iRet=1 then
  begin
    strList.Assign( frmAccessSet.StrList );
  end;
  frmAccessSet.Free;

  if iRet=1 then
  begin
    for i := 0 to CheckListBox1.Count-1 do
    begin
      CheckListBox1.Checked[i] := False;
      ss := CheckListBox1.Items.Strings[i];
      for iRet := 0 to strList.Count-1 do
      begin
        if SameText( strList.Strings[iRet],ss ) then
        begin
          CheckListBox1.Checked[i] := True;
        end; 
      end; 
    end;
  end;
  //---------------------------------
  strList.Free;
end;

procedure TfrmReadAccess.BitBtn1Click(Sender: TObject);
begin
  inherited;
  ADOQuery2.Close;
  ADOQuery2.SQL.Text := mo.Text ;
  try
    ADOQuery2.Open;
  except

  end;
end;

end.

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
26uuu国产日韩综合| 欧美日本视频在线| 裸体健美xxxx欧美裸体表演| 亚洲国产欧美另类丝袜| 亚洲欧美日韩精品久久久久| 久久精品欧美一区二区三区麻豆 | 国产日韩av一区二区| 久久综合中文字幕| 久久九九99视频| 欧美国产激情二区三区| 一区在线观看免费| 亚洲一二三区在线观看| 日产欧产美韩系列久久99| 免费成人美女在线观看.| 免费成人av在线| 国产精品99久久不卡二区| 国产在线精品免费| 国产成人啪免费观看软件| 99re66热这里只有精品3直播| 97se亚洲国产综合在线| 色综合 综合色| 欧美乱妇20p| 精品国产一区二区三区忘忧草| 久久久精品免费观看| 亚洲精品亚洲人成人网在线播放| 日韩avvvv在线播放| 国产麻豆精品久久一二三| 99亚偷拍自图区亚洲| 欧美伊人久久大香线蕉综合69| 欧美裸体bbwbbwbbw| 精品国产91洋老外米糕| 国产精品国产三级国产aⅴ无密码| 日韩毛片视频在线看| 婷婷激情综合网| 国产成人精品一区二区三区四区| 色综合天天综合网天天狠天天| 欧美精品国产精品| 国产欧美日韩三区| 日韩黄色免费电影| 91丨九色丨黑人外教| 日韩一区二区三免费高清| 国产精品美女久久久久久久久久久| 一区二区三区四区国产精品| 国产真实乱子伦精品视频| 色婷婷狠狠综合| 久久人人97超碰com| 亚洲欧美日韩国产成人精品影院 | 91精品国产高清一区二区三区蜜臀| 精品剧情在线观看| 亚洲国产日韩一区二区| 国产+成+人+亚洲欧洲自线| 777色狠狠一区二区三区| 日本一区二区三区dvd视频在线| 日韩精品国产精品| 在线观看av一区二区| 国产精品久久久久久福利一牛影视 | 亚洲尤物视频在线| 国产成人免费视频网站高清观看视频 | 日韩欧美国产一区在线观看| 亚洲久草在线视频| 从欧美一区二区三区| 精品日韩一区二区| 五月天久久比比资源色| 91国内精品野花午夜精品| 国产欧美综合在线观看第十页 | 日韩一区二区三区在线观看| 亚洲精品亚洲人成人网在线播放| 成人综合日日夜夜| 337p日本欧洲亚洲大胆色噜噜| 日韩经典中文字幕一区| 欧美日韩免费一区二区三区视频| 亚洲欧美欧美一区二区三区| 成人黄色一级视频| 国产午夜久久久久| 国产69精品久久久久毛片| 久久亚洲精精品中文字幕早川悠里| 日本最新不卡在线| 日韩欧美在线观看一区二区三区| 日韩成人午夜电影| 91精品在线观看入口| 天堂在线一区二区| 欧美猛男gaygay网站| 亚洲成人黄色小说| 欧美主播一区二区三区| 亚洲成人免费看| 91超碰这里只有精品国产| 图片区日韩欧美亚洲| 制服视频三区第一页精品| 午夜国产不卡在线观看视频| 91.com在线观看| 免费成人美女在线观看.| 精品国产凹凸成av人导航| 国产成人午夜电影网| 国产精品国产a| 91原创在线视频| 亚洲第一福利视频在线| 91精品久久久久久蜜臀| 日本成人在线看| 精品国产污污免费网站入口| 粉嫩aⅴ一区二区三区四区| 亚洲三级久久久| 337p亚洲精品色噜噜| 国精产品一区一区三区mba视频| 国产亚洲欧美色| 99精品欧美一区二区三区小说| 亚洲欧美一区二区三区国产精品 | 国产麻豆欧美日韩一区| 成人免费视频在线观看| 欧美伊人久久大香线蕉综合69 | 国产精品每日更新| 色狠狠av一区二区三区| 日韩制服丝袜先锋影音| 日本一区二区视频在线| 色八戒一区二区三区| 首页国产欧美久久| 欧美国产一区在线| 欧美中文字幕一区二区三区亚洲| 久久精品久久综合| 亚洲人成7777| 欧美一区二区三区白人| 国产激情视频一区二区三区欧美| 一区二区三区欧美久久| 久久新电视剧免费观看| 欧美日韩中字一区| 国产综合久久久久影院| 亚洲精品中文字幕乱码三区| 精品国产乱码久久久久久蜜臀| 成人午夜视频网站| 三级亚洲高清视频| 国产精品久久看| 日韩一级成人av| 色悠悠亚洲一区二区| 国内外精品视频| 天堂成人国产精品一区| 国产精品久久久久aaaa| 日韩精品一区二区三区蜜臀| 欧美性三三影院| 成人免费视频视频在线观看免费| 日本欧美久久久久免费播放网| 亚洲免费观看视频| 国产三级精品在线| 欧美一区二区三区小说| 色狠狠综合天天综合综合| 国产乱淫av一区二区三区| 五月婷婷欧美视频| 亚洲男帅同性gay1069| 精品国产sm最大网站| 7777女厕盗摄久久久| 色久优优欧美色久优优| 99久久精品费精品国产一区二区| 热久久一区二区| 免费高清视频精品| 日韩电影在线看| 无码av免费一区二区三区试看 | 91精品福利视频| 成人精品视频一区| 国产成人综合在线观看| 国产成人av电影| 欧美精品一区二区三区久久久| 欧美日韩视频在线一区二区| 亚洲gay无套男同| 欧美日韩久久一区二区| 另类小说综合欧美亚洲| 欧美成人一区二区三区片免费| 中文字幕在线观看一区| 欧美日韩在线播放三区| 无码av免费一区二区三区试看| 精品久久久久av影院| 激情av综合网| 欧美成人激情免费网| 日韩一区二区三区高清免费看看| 欧美疯狂做受xxxx富婆| 欧美狂野另类xxxxoooo| 欧美日韩一区高清| 欧美性xxxxxx少妇| 在线播放亚洲一区| 日韩亚洲电影在线| 精品毛片乱码1区2区3区| 久久亚洲捆绑美女| 国产日韩在线不卡| 中文字幕综合网| 亚洲一区二区在线视频| 日韩不卡免费视频| 亚洲午夜av在线| 青椒成人免费视频| 国产一区二区女| voyeur盗摄精品| 91官网在线免费观看| 欧美色精品在线视频| 欧美一个色资源| 国产日产亚洲精品系列| 一区二区免费看| 免费不卡在线观看| 风间由美性色一区二区三区| 色哟哟国产精品| 欧美日韩电影在线播放| 久久这里只有精品6| 亚洲色图第一区| 免费黄网站欧美| 一本久道中文字幕精品亚洲嫩|