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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? unit1.pas

?? 萬能數據庫查看程序 萬能數據庫查看程序
?? PAS
?? 第 1 頁 / 共 2 頁
字號:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGrids, DB, ADODB, StdCtrls, Buttons, ExtCtrls, DBTables,ShellApi,
  XPMenu,StrUtils,Math,Menus;

type
  TForm1 = class(TForm)
    DataSource1: TDataSource;
    ADOConnection1: TADOConnection;
    Panel2: TPanel;
    Panel1: TPanel;
    EDatabaseFile: TEdit;
    OpenDialog1: TOpenDialog;
    EPass: TEdit;
    LDataFile: TLabel;
    LPass: TLabel;
    BOpenDatabase: TBitBtn;
    SaveToFile: TSaveDialog;
    GroupBox2: TGroupBox;
    DBGrid1: TDBGrid;
    Splitter1: TSplitter;
    GroupBox1: TGroupBox;
    LTableList: TListBox;
    LSQLCommand: TLabel;
    BSqlCommand: TBitBtn;
    SqlStr: TComboBox;
    XPMenu1: TXPMenu;
    ADOQuery1: TADOQuery;
    ComboBox1: TComboBox;
    RadioGroup1: TRadioGroup;
    EUser: TEdit;
    LUser: TLabel;
    LPassword: TLabel;
    QueryBDE: TQuery;
    DatabaseBDE: TDatabase;
    BOutoToFile: TBitBtn;
    PopupMenu1: TPopupMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    LDataType: TLabel;
    procedure LTableListClick(Sender: TObject);
    procedure BOpenDatabaseClick(Sender: TObject);
    procedure EDatabaseFileClick(Sender: TObject);
    procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);
    procedure DBGrid1TitleClick(Column: TColumn);
    procedure RadioGroup1Click(Sender: TObject);
    procedure BOutoToFileClick(Sender: TObject);
    procedure BSqlCommandClick(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure N3Click(Sender: TObject);
    procedure N4Click(Sender: TObject);
    procedure ComboBox1Change(Sender: TObject);
    procedure N1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  LTableList_ItemIndex:integer=0;

implementation

uses DBFunctions;


{$R *.dfm}

procedure TForm1.LTableListClick(Sender: TObject);
begin
if (LTableList.ItemIndex<>-1) {and (LTableList.Items[LTableList.ItemIndex]<>'')} then
try
  begin
    Screen.Cursor:=crAppStart;
    Application.ProcessMessages;
    LTableList_ItemIndex:=LTableList.ItemIndex;
  if RadioGroup1.Items[RadioGroup1.ItemIndex]='BDE' then
  begin
    with QueryBDE do
      begin
        Close;
        Sql.Clear;
        DatabaseName:=DatabaseBDE.DatabaseName;
        if LTableList.ItemIndex<>-1 then
          begin
            SQL.Add(Pchar('Select * from '+LTableList.Items[LTableList.ItemIndex]+';'));
            try Open; except application.MessageBox('數據表有問題,無法正常打開!','提示',0);   end;
            DataSource1.DataSet:=QueryBDE;
            DBGrid1.DataSource:=DataSource1;
          end;
      end;
  end else
  begin
    with ADOQuery1 do
      begin
        Close;
        SQL.Clear;
        Connection:=ADOConnection1;
        if LTableList.ItemIndex<>-1 then
          begin
            SQL.Add(Pchar('Select * from '+LTableList.Items[LTableList.ItemIndex]+';'));
            try Open; except application.MessageBox('數據表有問題,無法正常打開!','提示',0);   end;
            DataSource1.DataSet:=ADOQuery1;
            DBGrid1.DataSource:=DataSource1;
          end;
      end;
  end;
    DBFunctions.DBGridAutoSize(DBGrid1,15);//調用對DBGrid控件數據進行自動字段寬度的處理過程
    Screen.Cursor:=crDefault;
  end;
except
Screen.Cursor:=crDefault;
end;
end;


procedure TForm1.RadioGroup1Click(Sender: TObject);
begin
  ComboBox1.Items.Clear;
  case TRadioGroup(Sender).ItemIndex of
    0:begin
        ComboBox1.Items.Add('=====驅動類型=====');
        ComboBox1.Items.Add('Access Database'); // MS Access Database
        ComboBox1.Items.Add('OLEDB.3.51 *.mdb'); //Microsoft.Jet.OLEDB.3.51
        ComboBox1.Items.Add('OLEDB.4.0 *.mdb');  //Microsoft.Jet.OLEDB.4.0
        ComboBox1.Items.Add('dBASE *.dbf;*.?dx'); //*.dbf;*.ndx;*.mdx
        ComboBox1.Items.Add('VFP Datebase *.dbf');
        ComboBox1.Items.Add('VFP Datebase *.dbc');
        ComboBox1.Items.Add('SQL Server');
        ComboBox1.Items.Add('搜索數據源別名...');
        ComboBox1.Text:='Access Database';
      end;
    1:begin
        ComboBox1.Items.Add('打開文件...');
        ComboBox1.Items.Add('搜索數據源別名...');
        ComboBox1.Text:='打開文件...';
      end;
  end;
  OpenDialog1.DefaultExt:='*.dbf,*.mdb,*.db,*.dbc,*.?dx';
  ///ComboBox1DropDown(Sender);   //調用此過程用來讀取并重置當前應該有的數據源驅動列表
  ComboBox1Change(Sender);   //調用此過程用來重新應用當前路徑框和各按鈕的可用狀態
end;

procedure TForm1.BOpenDatabaseClick(Sender: TObject);
var PathStr:string;  //用來接收輸入的路徑
begin
  try
  Screen.Cursor:=crAppStart;
  Application.ProcessMessages;
  LTableList.Clear;
  DatabaseBDE.Close;
  ADOConnection1.Close;
  ADOQuery1.Close;
  ADOQuery1.Active:=False;
  QueryBDE.Close;
  QueryBDE.Active:=False;
  LTableList_ItemIndex:=0;
  BOutoToFile.Enabled:=False;
  BSqlCommand.Enabled:=False;
  N1.Enabled:=False;
  N2.Enabled:=False;
  N3.Enabled:=False;
  N4.Enabled:=False;

  if RadioGroup1.Items[RadioGroup1.ItemIndex]='ADO' then
  begin  //如果驅動類型選擇了ADO進入這里
    if Trim(ComboBox1.Text)<>'' then
      begin
        ///Session.GetAliasNames(ComboBox1.Items);
        DataSource1.DataSet:=ADOQuery1;
        ADOConnection1.LoginPrompt:=false;  //去除登錄密碼驗證窗口
        try
        if Trim(ComboBox1.Text)='Access Database' then    //要指明文件
          begin
            if not AnsiContainsText(EDatabaseFile.text,'.') then EDatabaseFileClick(Sender);
            if not AnsiContainsText(EDatabaseFile.text,'.') then begin Screen.Cursor:=crDefault; exit; end;
            ADOConnection1.ConnectionString:='Provider=MSDASQL.1;Password='+EPass.Text+';Persist Security Info=True;User ID='+EUser.Text+';Extended Properties="DSN=MS Access Database;DBQ='+EDatabaseFile.text+';DefaultDir='+ExtractFilePath(EDatabaseFile.text)+';DriverId=25;MaxBufferSize=2048;FIL=MS Access;PWD='+EPass.Text+';UID='+EUser.Text+';"';
          end
        else
        if Trim(ComboBox1.Text)='OLEDB.3.51 *.mdb' then    //要指明文件
          begin
            if not AnsiContainsText(EDatabaseFile.text,'.') then EDatabaseFileClick(Sender);
            if not AnsiContainsText(EDatabaseFile.text,'.') then begin Screen.Cursor:=crDefault; exit; end;
            ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.3.51;Data Source='+EDatabaseFile.text+';Persist Security Info=False;Jet OLEDB:Database Password='+EPass.text+'';
          end
        else
        if Trim(ComboBox1.Text)='OLEDB.4.0 *.mdb'  then     //要指明文件
          begin
            if not AnsiContainsText(EDatabaseFile.text,'.') then EDatabaseFileClick(Sender);
            if not AnsiContainsText(EDatabaseFile.text,'.') then begin Screen.Cursor:=crDefault; exit; end;
            ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+EDatabaseFile.text+';Persist Security Info=False;Jet OLEDB:Database Password='+EPass.text+'';
          end
        else
        if Trim(ComboBox1.Text)='dBASE *.dbf;*.?dx' then    //要指明目錄(已處理成可以是文件) 最后不能有'\'
          begin
            if not AnsiContainsText(EDatabaseFile.text,'\') then EDatabaseFileClick(Sender);
            if not AnsiContainsText(EDatabaseFile.text,'\') then begin Screen.Cursor:=crDefault; exit; end;
            if AnsiContainsText(EDatabaseFile.text,'.') then EDatabaseFile.text:=ExtractFilePath(EDatabaseFile.text);
            if EDatabaseFile.text[length(EDatabaseFile.text)]='\' then EDatabaseFile.text:=leftstr(EDatabaseFile.text,length(EDatabaseFile.text)-1);
            ADOConnection1.ConnectionString:='Provider=MSDASQL.1;Password='+EPass.text+';Persist Security Info=True;User ID='+EUser.Text+';Extended Properties="DSN=dBASE Files;DBQ='+EDatabaseFile.text+';DefaultDir='+ExtractFilePath(EDatabaseFile.text)+';DriverId=533;MaxBufferSize=2048;PageTimeout=5;"';
          end
        else
        if Trim(ComboBox1.Text)='VFP Datebase *.dbf' then    //要指明目錄(已處理成可以是文件) 最后必須有'\'
          begin
            if not AnsiContainsText(EDatabaseFile.text,'\') then EDatabaseFileClick(Sender);
            if not AnsiContainsText(EDatabaseFile.text,'\') then begin Screen.Cursor:=crDefault; exit; end;
            if AnsiContainsText(EDatabaseFile.text,'.') then EDatabaseFile.text:=ExtractFilePath(EDatabaseFile.text);
            if EDatabaseFile.text[length(EDatabaseFile.text)]<>'\' then EDatabaseFile.text:=EDatabaseFile.text+'\';
            ADOConnection1.ConnectionString:='Provider=MSDASQL.1;Password='+EPass.Text+';Persist Security Info=True;User ID='+EUser.Text+';Extended Properties="DSN=Visual FoxPro Tables;UID='+EUser.Text+';PWD='+EPass.Text+';SourceDB='+EDatabaseFile.text+';SourceType=DBF;Exclusive=No;BackgroundFetch=Yes;Collate=Machine;Null=Yes;Deleted=Yes;"';
          end
        else
        if Trim(ComboBox1.Text)='VFP Datebase *.dbc' then      //一定要指明數據庫文件
          begin
            if not AnsiContainsText(EDatabaseFile.text,'.') then EDatabaseFileClick(Sender);
            if not AnsiContainsText(EDatabaseFile.text,'.') then begin Screen.Cursor:=crDefault; exit; end;
            ADOConnection1.ConnectionString:='Provider=MSDASQL.1;Password='+EPass.Text+';Persist Security Info=True;User ID='+EUser.Text+';Extended Properties="DSN=Visual FoxPro Database;UID='+EUser.Text+';PWD='+EPass.Text+';SourceDB='+EDatabaseFile.text+';SourceType=DBC;Exclusive=No;BackgroundFetch=Yes;Collate=Machine;Null=Yes;Deleted=Yes;"';
          end
        else
        if Trim(ComboBox1.Text)='SQL Server'     then        //要求IP,數據庫 另外就是登陸用戶名和密碼
          begin
            PathStr:='(Local)';
            if not InputQuery('SQL Server','請輸入你要連接到的SQL服務器名或IP            本地可用 (Local) 或 127.0.0.1 ',PathStr) then begin Screen.Cursor:=crDefault; exit; end;
            EDatabaseFile.text:=Trim(PathStr);
            PathStr:='pubs';
            if not InputQuery('數據庫選擇','請輸入你要打開的數據庫名,如:pubs      ',PathStr) then begin Screen.Cursor:=crDefault; exit; end;
            ADOConnection1.ConnectionString:='Provider=SQLOLEDB.1;Password='+EPass.Text+';Persist Security Info=True;User ID='+EUser.Text+';Initial Catalog='+PathStr+';Data Source='+EDatabaseFile.text+'';
          end
        else {if (ComboBox1.Items.IndexOf(ComboBox1.Text)<>-1) then} //打開已創建好的數據源
          begin
            ADOConnection1.ConnectionString:='Provider=MSDASQL.1;Password='+EPass.Text+';Persist Security Info=True;User ID='+EUser.Text+';Data Source='+ComboBox1.Text+'';
          end
        ;//else application.MessageBox('所選擇的數據庫或數據源別名不能被打開,請檢查更改后再試!','打開數據庫錯誤',0);
        ADOConnection1.Open;
        ADOConnection1.GetTableNames(LTableList.Items);
        Screen.Cursor:=crDefault;
        except
        Screen.Cursor:=crDefault;
        application.MessageBox('連接數據庫失敗,請檢查用戶密碼和數據庫名稱路徑及是否支持后重試!','打開數據庫錯誤',0);
        end;
      end else begin Screen.Cursor:=crDefault; application.MessageBox('老兄有沒有搞錯呀,你沒選擇數據類型或據源別名你要打開什么呀?','打開數據庫錯誤',0); exit; end;
  end else
  begin  //如果驅動類型選擇了BDE進入這里
    //Session.GetAliasNames(ComboBox1.Items);
    DatabaseBDE.DriverName:='STANDARD';   //數據類型
    DataSource1.DataSet:=QueryBDE;
    DatabaseBDE.LoginPrompt:=False;
    DatabaseBDE.DriverName:='STANDARD';   //數據類型
    if Trim(ComboBox1.Text)<>'' then DatabaseBDE.DatabaseName:=Trim(ComboBox1.Text) else DatabaseBDE.DatabaseName:='MICHAEL';//設置當前實例的數據庫別名
    if Trim(ComboBox1.Text)<>'' Then
      begin  //如果別名框(即ComboBox1.text)的內容不為空
        if ComboBox1.Text='打開文件...' then    //直接打開指定目錄中的數據文件
          begin
            try
            if not AnsiContainsText(EDatabaseFile.text,'\') then EDatabaseFileClick(Sender);
            if not AnsiContainsText(EDatabaseFile.text,'\') then begin Screen.Cursor:=crDefault; exit; end;
                DatabaseBDE.Params.Clear;
                EDatabaseFile.text:=Trim(EDatabaseFile.text);
                if AnsiContainsText(EDatabaseFile.text,'.') then EDatabaseFile.text:=ExtractFilePath(EDatabaseFile.text);
                DatabaseBDE.Params.Add('PATH='+EDatabaseFile.text);
                DatabaseBDE.Params.Values['USERNAME']:=EUser.Text;
                DatabaseBDE.Params.Values['PASSWORD']:=EPass.Text;
                DatabaseBDE.connected:=true;
                DatabaseBDE.Open;
                DatabaseBDE.GetTableNames(LTableList.Items);
                QueryBDE.DatabaseName:=DatabaseBDE.DatabaseName;
            except
            Screen.Cursor:=crDefault;
            application.MessageBox('打開數據失敗,請檢查數據路徑及數據文件是否有誤或不支持!','打開數據失敗',0);
            end;
          end else if (ComboBox1.Items.IndexOf(Trim(ComboBox1.Text))<>-1) then
          begin    //看選擇的數據庫是否是已創建好的數據源
            with DatabaseBDE do
            begin
              try

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲午夜激情av| 香蕉久久一区二区不卡无毒影院 | 日韩av一区二| 亚洲毛片av在线| 亚洲精品视频免费看| 亚洲男同性视频| 亚洲成人动漫在线观看| 天堂久久久久va久久久久| 日本亚洲免费观看| 精品在线一区二区| 波多野结衣中文字幕一区| 成人网在线免费视频| 97精品久久久午夜一区二区三区| 色老汉av一区二区三区| 欧美日本免费一区二区三区| 国产女人18毛片水真多成人如厕| 国产午夜一区二区三区| 国产精品女主播在线观看| 亚洲视频一区二区免费在线观看| 一区二区三区中文字幕精品精品| 婷婷丁香激情综合| 国产激情偷乱视频一区二区三区| 91在线云播放| 日韩一区二区三区四区五区六区| 精品欧美一区二区久久| 中文字幕一区二区三区精华液| 亚洲一区二区综合| 国产毛片一区二区| 91女神在线视频| 日韩欧美一二三四区| 国产精品久久久久国产精品日日| 亚洲国产色一区| 成人综合在线观看| 在线成人高清不卡| 1024精品合集| 国产制服丝袜一区| 欧美日韩国产一级二级| 国产精品无码永久免费888| 丝袜a∨在线一区二区三区不卡 | 欧美极品美女视频| 午夜精品久久久久久久蜜桃app| 国产一区二区三区久久久| 一本一道久久a久久精品综合蜜臀| 日韩欧美成人一区| 亚洲成人自拍一区| 成人国产亚洲欧美成人综合网| 91精品一区二区三区久久久久久| 国产精品毛片无遮挡高清| 久久99久久99精品免视看婷婷 | 欧美日韩国产一级片| 国产精品毛片高清在线完整版 | 亚洲免费在线观看| 韩国成人精品a∨在线观看| 欧美亚洲综合另类| 亚洲人成网站色在线观看| 国产麻豆精品theporn| 欧美精品三级在线观看| 亚洲男人天堂一区| 97久久精品人人做人人爽| 久久精品视频一区二区三区| 美美哒免费高清在线观看视频一区二区| 99热精品国产| 日韩美女久久久| 成人精品免费网站| 国产视频在线观看一区二区三区| 秋霞影院一区二区| 欧美一区二区三区四区在线观看| 亚洲精品视频一区二区| 色综合视频一区二区三区高清| 国产午夜精品一区二区三区嫩草 | 一区二区三区**美女毛片| 国产一区二区美女| 久久久久久麻豆| 国产一区二区日韩精品| 久久久噜噜噜久久人人看| 国产综合成人久久大片91| 久久伊人蜜桃av一区二区| 经典三级在线一区| 国产婷婷精品av在线| av一区二区三区| 一级精品视频在线观看宜春院 | 在线精品视频一区二区| 亚洲精品高清在线观看| 欧美性猛片xxxx免费看久爱| 亚洲主播在线观看| 欧美一级理论片| 国产一区二区在线视频| 国产精品国产a| 欧洲另类一二三四区| 午夜久久久久久电影| 日韩视频免费观看高清完整版在线观看| 日韩黄色一级片| 久久久久久久久久久黄色| 99精品欧美一区二区三区小说| 亚洲精品日韩专区silk| 在线播放国产精品二区一二区四区 | 精品一区二区三区日韩| 国产亚洲成aⅴ人片在线观看| 91色|porny| 视频一区免费在线观看| 久久九九久精品国产免费直播| 91亚洲国产成人精品一区二区三| 亚洲国产精品影院| 久久久国产精品午夜一区ai换脸| 99久久99久久精品免费看蜜桃 | 国产女人18毛片水真多成人如厕| 日本精品一级二级| 六月丁香婷婷久久| 亚洲男人电影天堂| 久久综合色天天久久综合图片| 一本色道综合亚洲| 国产麻豆精品theporn| 亚洲精品成人在线| 视频一区二区不卡| 中文字幕色av一区二区三区| 欧美一区二区三区视频在线观看| 成人黄色在线网站| 男男视频亚洲欧美| 亚洲综合视频网| 欧美极品aⅴ影院| 精品国产凹凸成av人导航| 色综合久久久久网| 风间由美性色一区二区三区| 午夜精品福利在线| 一区二区三区四区不卡在线| 欧美大片国产精品| 欧美无乱码久久久免费午夜一区 | 日韩va亚洲va欧美va久久| 国产精品不卡视频| 国产三级三级三级精品8ⅰ区| 在线观看91av| 欧美日韩三级一区二区| 91欧美一区二区| 99久久伊人精品| 成人激情小说网站| 国产精品亚洲午夜一区二区三区| 男女性色大片免费观看一区二区| 亚洲精品成人悠悠色影视| 中文字幕永久在线不卡| 欧美激情一区二区三区蜜桃视频| 成人污视频在线观看| 天天综合色天天综合色h| 综合久久久久久| 国产精品免费视频观看| 国产日韩成人精品| 国产日韩欧美综合在线| 久久久精品国产免费观看同学| 精品三级在线观看| 精品国内二区三区| 精品国产免费一区二区三区四区| 精品久久久久久久久久久久包黑料| 欧美挠脚心视频网站| 正在播放亚洲一区| 欧美日韩视频在线一区二区| 欧美日韩中文字幕精品| 欧美色倩网站大全免费| 欧美日韩国产美| 制服丝袜亚洲精品中文字幕| 欧美一区二区在线不卡| 欧美大片顶级少妇| 国产精品久久久99| 有码一区二区三区| 午夜国产不卡在线观看视频| 日韩电影在线一区| 久久精品99久久久| 国产99精品国产| 91女厕偷拍女厕偷拍高清| 欧美性高清videossexo| 欧美一二三区在线| 国产欧美日韩精品一区| 一区二区三区四区在线播放| 午夜电影一区二区三区| 国产一区欧美日韩| 91浏览器入口在线观看| 91精品国产美女浴室洗澡无遮挡| 精品欧美一区二区三区精品久久| 国产精品人人做人人爽人人添| 亚洲美女电影在线| 精品在线你懂的| 色美美综合视频| 欧美不卡在线视频| 亚洲欧美日韩一区二区三区在线观看| 一区二区三区欧美日| 黄页视频在线91| 日韩欧美成人午夜| 国产精品初高中害羞小美女文| 玉足女爽爽91| 成人一级视频在线观看| 欧美精选午夜久久久乱码6080| 欧美激情一区二区三区四区 | 日韩丝袜美女视频| 综合欧美一区二区三区| 日韩电影一区二区三区四区| 国产精品一区二区久久精品爱涩| 欧美天堂亚洲电影院在线播放| 国产三级欧美三级| 毛片不卡一区二区| 欧美日韩亚洲高清一区二区| 国产欧美1区2区3区| 美脚の诱脚舐め脚责91|