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

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

?? ufrmimportdb2.pas

?? 數(shù)據(jù)庫通用工具
?? PAS
?? 第 1 頁 / 共 2 頁
字號:
unit UfrmImportDB2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, DBTables, StdCtrls, Grids, DBGrids, ExtCtrls, Buttons,
  ComCtrls, ImgList, IniFiles;

type
  TfrmImportDB2 = class(TForm)
    Query1: TQuery;
    DataSource1: TDataSource;
    Database2: TDatabase;
    Query2: TQuery;
    DataSource2: TDataSource;
    Panel1: TPanel;
    Panel4: TPanel;
    labA: TLabel;
    labB: TLabel;
    lv: TListView;
    btnadd: TButton;
    btndel: TButton;
    btnclear: TButton;
    btnout: TButton;
    BitBtn1: TBitBtn;
    Panel5: TPanel;
    DBGrid1: TDBGrid;
    Panel2: TPanel;
    Label2: TLabel;
    Label5: TLabel;
    edita2: TEdit;
    edita5: TComboBox;
    Panel6: TPanel;
    Panel3: TPanel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    editb1: TEdit;
    editb4: TEdit;
    editb3: TEdit;
    editb2: TEdit;
    btnlink2: TButton;
    btnunlink2: TButton;
    editb5: TComboBox;
    DBGrid2: TDBGrid;
    lv1: TListView;
    lv2: TListView;
    ImageList1: TImageList;
    Label12: TLabel;
    Label13: TLabel;
    mo: TMemo;
    bbtRun: TBitBtn;
    StatusBar1: TStatusBar;
    labRa: TLabel;
    labRb: TLabel;
    ProgressBar1: TProgressBar;
    procedure btnoutClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure edita1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure btnlink2Click(Sender: TObject);
    procedure btnunlink2Click(Sender: TObject);
    procedure Database2AfterConnect(Sender: TObject);
    procedure Database2AfterDisconnect(Sender: TObject);
    procedure edita5Change(Sender: TObject);
    procedure lv1CustomDrawSubItem(Sender: TCustomListView;
      Item: TListItem; SubItem: Integer; State: TCustomDrawState;
      var DefaultDraw: Boolean);
    procedure lv1CustomDrawItem(Sender: TCustomListView; Item: TListItem;
      State: TCustomDrawState; var DefaultDraw: Boolean);
    procedure lv2CustomDrawSubItem(Sender: TCustomListView;
      Item: TListItem; SubItem: Integer; State: TCustomDrawState;
      var DefaultDraw: Boolean);
    procedure lv1Resize(Sender: TObject);
    procedure lv2Resize(Sender: TObject);
    procedure editb5Change(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure btnaddClick(Sender: TObject);
    procedure addMo( ss : string );
    procedure btnclearClick(Sender: TObject);
    procedure btndelClick(Sender: TObject);
    procedure bbtRunClick(Sender: TObject);
    procedure lvCustomDrawSubItem(Sender: TCustomListView; Item: TListItem;
      SubItem: Integer; State: TCustomDrawState; var DefaultDraw: Boolean);
    procedure lvResize(Sender: TObject);
    function setFieldToParam( stype : string; tp : TParam; tf : TField ) : Integer;
    procedure lvKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure moKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure FormCreate(Sender: TObject);
    procedure StatusBar1DrawPanel(StatusBar: TStatusBar;
      Panel: TStatusPanel; const Rect: TRect);
    
  private
    { Private declarations }
    path : string;
    ini : TIniFile;
    item : TListItem;
    bDoing : Boolean;
  public
    { Public declarations }
  end;

var
  frmImportDB2: TfrmImportDB2;

implementation

uses UfrmDB2;

{$R *.dfm}

procedure TfrmImportDB2.addMo( ss : string );
begin
  mo.Lines.Add( ss );
end;

procedure TfrmImportDB2.btnoutClick(Sender: TObject);
begin
  Close;
end;

procedure TfrmImportDB2.FormShow(Sender: TObject);
begin
  lv1.Items.Clear;
  lv2.Items.Clear;
  lv.Items.Clear;

  Database2.Connected := false;
  
  path := ExtractFilePath(application.ExeName);
  ini := TIniFile.Create(path+'config.may');
  edita2.Text := frmDB2.Database1.Params.Values['DB2 DSN'];
//  edita1.Text := ini.ReadString('ImportNew', 'Server1',  '127.0.0.1');
//  edita2.Text := ini.ReadString('ImportNew', 'Database1','master');
//  edita3.Text := ini.ReadString('ImportNew', 'user1',    'sa');
//  edita4.Text := ini.ReadString('ImportNew', 'pass1',    'sa');
  //edita5.Text := ini.ReadString('ImportNew', 'table1',   'operator');
  //--------------------------------------------------------------
  editb1.Text := ini.ReadString('ImportNew', 'Server2',  '127.0.0.1');
  editb2.Text := ini.ReadString('ImportNew', 'Database2','master');
  editb3.Text := ini.ReadString('ImportNew', 'user2',    'sa');
  editb4.Text := ini.ReadString('ImportNew', 'pass2',    'sa');
  //editb5.Text := ini.ReadString('ImportNew', 'table2',   'operator');
  ini.Free;
  
end;

procedure TfrmImportDB2.FormDestroy(Sender: TObject);
begin
  Database2.Connected := false;

  path := ExtractFilePath(application.ExeName);
  ini := TIniFile.Create(path+'config.may');
//  ini.WriteString('ImportNew', 'Server1',  edita1.Text );
  ini.WriteString('ImportNew', 'Database1',edita2.Text );
//  ini.WriteString('ImportNew', 'user1',    edita3.Text );
//  ini.WriteString('ImportNew', 'pass1',    edita4.Text );
  //ini.WriteString('ImportNew', 'table1',   edita5.Text );
  //--------------------------------------------------
  ini.WriteString('ImportNew', 'Server2',  editb1.Text );
  ini.WriteString('ImportNew', 'Database2',editb2.Text );
  ini.WriteString('ImportNew', 'user2',    editb3.Text );
  ini.WriteString('ImportNew', 'pass2',    editb4.Text );
  //ini.WriteString('ImportNew', 'table2',   editb5.Text );
  ini.Free;
end;

procedure TfrmImportDB2.edita1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key = vk_return then
    sendMessage(handle,wm_nextdlgctl,0,0);
end;

procedure TfrmImportDB2.btnlink2Click(Sender: TObject);
var
  i,a,j: integer;
  ss,sb : string;
  slt:TStringList;
begin

  Database2.Connected := false;
  Database2.Params.Clear();
  //Database2.DatabaseName :=  editb2.Text ;
  Database2.DatabaseName :=  'B'+editb2.Text ;
  Database2.Params.Values['DATABASE NAME']:= editb2.Text ;
  Database2.Params.Values['SERVER NAME']  := editb1.Text ;
  Database2.Params.Values['USER NAME']    := editb3.Text ;
  Database2.Params.Values['PASSWORD']     := editb4.Text ;
  Database2.Params.Values['BLOB SIZE']    := IntToStr( 1024*8 );

  try
      Database2.Connected := true;
  except
      Application.MessageBox('數(shù)據(jù)庫鏈接錯(cuò)誤,請重新設(shè)置!','提示',MB_OK+MB_ICONINFORMATION);
      exit;
  end;

  if Database2.Connected = true then
  begin
    slt := TStringList.Create();
    Database2.GetTableNames(slt,false);
    
    btnlink2.Enabled := false;
    Query2.DatabaseName := Database2.DatabaseName ;

    //排序
    for i := 0 to slt.Count-2 do
    begin
      ss := slt.Strings[i];
      for j := i to slt.Count-1 do
      begin
        sb := slt.Strings[j];
        if LowerCase(sb) < LowerCase(ss) then
        begin
          ss := slt.Strings[j];
          slt.Strings[j] := slt.Strings[i];
          slt.Strings[i] := ss;
        end;

      end;

    end;
    
    editb5.Items.Clear;
    for i := 0 to slt.Count-1 do
    begin
      ss := slt.Strings[i];
      ss := copy(ss,5,length(ss)-4);
      editb5.Items.Add( ss );
    end;
    
    if editb5.Items.Count>0 then editb5.ItemIndex := 0;
    slt.Free;

    lv2.Items.Clear();
    lv.Items.Clear();
    //=============================
  end;

end;

procedure TfrmImportDB2.btnunlink2Click(Sender: TObject);
begin
  Query2.Close();
  lv2.Items.Clear;
  Query2.Active := false;
  Database2.Connected := false;
  btnlink2.Enabled := true;
  lv.Items.Clear();
end;

procedure TfrmImportDB2.Database2AfterConnect(Sender: TObject);
begin
  StatusBar1.Panels.Items[1].Text := ' '+editb1.Text + ' < '+editb2.Text+' > 連接成功';
end;

procedure TfrmImportDB2.Database2AfterDisconnect(Sender: TObject);
begin
  StatusBar1.Panels.Items[1].Text := ' '+editb1.Text + ' < '+editb2.Text+' > 斷開連接!';
end;

function getFieldType( sDPName : string ) : string;
begin
  sDPName := Trim(sDPName);
  Result := '';
  if sDPName='TIntegerField' then
  begin
    Result := 'int';
  end
  else if sDPName='TStringField' then
  begin
    Result := 'varchar';
  end
  else if sDPName='TFloatField' then
  begin
    Result := 'float';
  end
  else if sDPName='TCurrencyField' then
  begin
    Result := 'money';
  end
  else if sDPName='TDateTimeField' then
  begin
    Result := 'datetime';
  end
  else if sDPName='TBooleanField' then
  begin
    Result := 'bit';
  end
  else if sDPName='TBlobField' then
  begin
    Result := 'image';
  end
  else if sDPName='TAutoIncField' then
  begin
    Result := 'int(自增)';
  end
  else if sDPName='TSmallintField' then
  begin
    Result := 'smallint';
  end
  else if sDPName='TMemoField' then
  begin
    Result := 'text';
  end
  else
  begin
    Result := '--';
  end;

end;

procedure TfrmImportDB2.edita5Change(Sender: TObject);
var
  i,a: integer;
  ss : string;
begin
  
  Query1.Close();
  Query1.SQL.Text := 'select * from '+ edita5.Text ;
  try
    Query1.Open();
  except
    addMo('執(zhí)行語句出錯(cuò): '+Query1.SQL.Text);
    exit;
  end;

  a := DBGrid1.FieldCount;
  labA.Caption := IntToStr(a);
  i := Query1.RecordCount;
  
  if i>=0 then
  begin
    labRa.Tag := Query1.RecordCount;
    labRa.Caption := '記錄數(shù) '+IntToStr( Query1.RecordCount );
  end
  else//<0
  begin
    //語句手工統(tǒng)計(jì)
    with Query1 do
    begin

      Close();
      SQL.Text := 'select count(*) as iCount from '+ edita5.Text ;
      
      try
        Open();
      except
        addMo('執(zhí)行語句出錯(cuò): '+SQL.Text);
        exit;
      end;

      if not IsEmpty then
      begin
        labRa.Tag := FieldByName('iCount').AsInteger;
        labRa.Caption := '記錄數(shù) '+FieldByName('iCount').AsString;
      end;
      //-----------------------
      Close();
      SQL.Text := 'select * from '+ edita5.Text ;
      
      try
        Open();
      except
        addMo('執(zhí)行語句出錯(cuò): '+SQL.Text);
        exit;
      end;
    end;

  end;

  addMo( '------------------------------' );
  addMo( '源庫: '+edita2.Text );
  addMo( '源表: '+edita5  .Text );
  addMo( '源表: 字段數(shù) '+IntToStr(a) );
  //addMo( '源表: 記錄數(shù) '+IntToStr( Query1.RecordCount ) );
  addMo( '源表: 記錄數(shù) '+IntToStr(labRa.Tag) );

  lv1.Items.Clear;
  
  for i := 0 to a-1 do
  begin
    ss := DBGrid1.Columns.Items[i].FieldName;
    item := lv1.Items.Add;
    item.Caption := ss;
    item.SubItems.Add( getFieldType( DBGrid1.Columns.Items[i].Field.ClassName ) );
    item.SubItems.Add( IntToStr( DBGrid1.Columns.Items[i].Field.Size ) );
  end;
  
  if lv1.Items.Count > 0 then
  begin
    lv1.Items.Item[0].Selected := true;
  end;

end;

procedure TfrmImportDB2.editb5Change(Sender: TObject);
var
  i,a: integer;
  ss : string;
begin
  Query2.Close();
  Query2.SQL.Text := 'select * from '+ editb5.Text ;
  try
    Query2.Open();
  except
    exit;
  end;
    
  a := DBGrid2.FieldCount;
  labB.Caption := IntToStr(a);
  i := Query2.RecordCount;
  
  if i>=0 then
  begin
    labRb.Tag := Query2.RecordCount;
    labRb.Caption := '記錄數(shù) '+IntToStr( Query2.RecordCount );
  end
  else//<0
  begin
    //語句手工統(tǒng)計(jì)
    with Query2 do
    begin

      Close();
      SQL.Text := 'select count(*) as iCount from '+ editb5.Text ;
      
      try
        Open();
      except
        addMo('執(zhí)行語句出錯(cuò): '+SQL.Text);
        exit;
      end;

      if not IsEmpty then
      begin
        labRb.Tag := FieldByName('iCount').AsInteger;
        labRb.Caption := '記錄數(shù) '+FieldByName('iCount').AsString;
      end;
      //-----------------------
      Close();
      SQL.Text := 'select * from '+ editb5.Text ;
      
      try
        Open();
      except
        addMo('執(zhí)行語句出錯(cuò): '+SQL.Text);
        exit;
      end;
    end;

  end;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产人妖乱国产精品人妖| 国产精品国产三级国产普通话三级| 高清shemale亚洲人妖| 亚洲桃色在线一区| 欧美刺激午夜性久久久久久久| 色综合久久久久综合体| 精品一区二区精品| 亚洲丶国产丶欧美一区二区三区| 国产亚洲福利社区一区| 欧美男人的天堂一二区| 99精品欧美一区| 国产毛片精品视频| 日产精品久久久久久久性色| 亚洲精品久久7777| 欧美经典三级视频一区二区三区| 日韩一区二区三区视频在线观看 | 一区二区欧美在线观看| 国产亚洲欧美激情| 日韩欧美黄色影院| 欧美日本不卡视频| 欧美亚洲国产一区二区三区 | 麻豆成人av在线| 亚洲国产一区在线观看| 自拍av一区二区三区| 欧美激情中文不卡| 国产日本一区二区| 国产女同性恋一区二区| 亚洲精品在线三区| 欧美精品一区二区三区久久久 | 久久久久成人黄色影片| 91精品在线观看入口| 欧美精品日韩精品| 欧美久久免费观看| 亚洲美女区一区| **欧美大码日韩| 亚洲私人黄色宅男| 亚洲精品久久7777| 亚洲精品日日夜夜| 亚洲激情中文1区| 亚洲美女少妇撒尿| 亚洲综合久久久久| 婷婷夜色潮精品综合在线| 午夜精品福利视频网站| 日韩成人精品在线| 毛片av一区二区| 国产剧情av麻豆香蕉精品| 国产一区二区h| 成人的网站免费观看| a级精品国产片在线观看| 色综合欧美在线视频区| 欧美性一级生活| 欧美日韩国产免费一区二区 | 一区二区三区国产豹纹内裤在线| 亚洲人成亚洲人成在线观看图片| ...xxx性欧美| 亚洲一区中文日韩| 青草av.久久免费一区| 韩国精品久久久| 国产成人欧美日韩在线电影| www.99精品| 欧美日韩视频在线观看一区二区三区| 欧美日韩亚州综合| 日韩午夜在线影院| 国产亚洲精品资源在线26u| 亚洲视频你懂的| 日韩不卡一区二区三区| 国产999精品久久久久久| 91在线国产福利| 91精品综合久久久久久| 国产人妖乱国产精品人妖| 伊人色综合久久天天| 免费看日韩精品| 成人动漫一区二区| 欧美一级生活片| 国产精品国产自产拍在线| 亚洲一卡二卡三卡四卡五卡| 美女网站色91| 99精品视频中文字幕| 这里是久久伊人| 国产精品成人一区二区三区夜夜夜| 亚洲成a人片在线不卡一二三区 | 99亚偷拍自图区亚洲| 欧美久久久一区| 亚洲欧洲日韩一区二区三区| 日本va欧美va欧美va精品| 成人av网址在线| 欧美一区二区黄色| 亚洲日本va午夜在线影院| 狠狠色丁香久久婷婷综合丁香| 色综合中文字幕| 精品国精品国产| 亚洲综合偷拍欧美一区色| 国产精品综合在线视频| 欧美日韩久久久久久| 中文在线资源观看网站视频免费不卡 | 日韩成人免费看| 国产精品美女久久久久久久 | 亚洲日韩欧美一区二区在线| 蜜臀久久99精品久久久画质超高清 | 欧美一区二区三区四区视频| ...xxx性欧美| 国产精品18久久久久久久网站| 欧美日韩免费高清一区色橹橹| 国产拍揄自揄精品视频麻豆| 免费精品99久久国产综合精品| 91在线观看免费视频| 久久精品亚洲麻豆av一区二区| 婷婷综合在线观看| 在线观看一区日韩| 国产精品青草久久| 国产精品亚洲一区二区三区妖精| 欧美日本国产一区| 亚洲综合色自拍一区| 99久久国产综合精品色伊| 久久久久久一级片| 美女在线一区二区| 欧美喷潮久久久xxxxx| 亚洲一区二区三区三| 色狠狠色狠狠综合| 综合久久综合久久| 不卡的av网站| 中文幕一区二区三区久久蜜桃| 激情久久久久久久久久久久久久久久| 欧美人妖巨大在线| 亚洲国产成人va在线观看天堂 | 欧美成人aa大片| 日韩国产高清在线| 777精品伊人久久久久大香线蕉| 亚洲va国产va欧美va观看| 91久久精品午夜一区二区| 亚洲人妖av一区二区| 99精品国产一区二区三区不卡| 国产精品乱子久久久久| 成人av网站免费| 亚洲日本欧美天堂| 色老综合老女人久久久| 一区二区三区日韩在线观看| 欧美亚洲国产bt| 一级精品视频在线观看宜春院| 在线中文字幕不卡| 91丨九色丨蝌蚪丨老版| 亚洲色图都市小说| 欧美专区日韩专区| 亚洲成人综合视频| 日韩欧美综合一区| 国内精品久久久久影院色| 国产免费久久精品| 91美女视频网站| 亚洲一区二三区| 91精品国产综合久久福利| 蜜臀精品一区二区三区在线观看| 亚洲精品在线免费播放| 丰满少妇在线播放bd日韩电影| 中文字幕一区二区不卡| 在线免费观看日本欧美| 天堂久久一区二区三区| 精品国产乱码久久| www.亚洲精品| 亚洲成人www| 久久综合av免费| 99精品视频在线观看免费| 午夜亚洲国产au精品一区二区| 69堂成人精品免费视频| 国产一区中文字幕| 亚洲激情欧美激情| 69av一区二区三区| 大桥未久av一区二区三区中文| 亚洲精品久久久久久国产精华液| 欧美一区二视频| 国产99精品视频| 亚洲成在人线免费| 欧美韩国日本一区| 欧美无乱码久久久免费午夜一区| 麻豆精品在线观看| 中文字幕亚洲在| 精品少妇一区二区三区日产乱码 | 国产日韩欧美a| 在线观看欧美精品| 麻豆国产精品官网| 国产精品久线观看视频| 欧美精品精品一区| 成人午夜视频福利| 日韩精品91亚洲二区在线观看| 精品国产123| 欧美人体做爰大胆视频| 成人免费视频国产在线观看| 日日夜夜精品视频天天综合网| 国产精品欧美一区喷水| 欧美一区二区三区四区高清| 成人一区二区三区中文字幕| 日韩av电影免费观看高清完整版 | av亚洲产国偷v产偷v自拍| 奇米四色…亚洲| 亚洲久本草在线中文字幕| 精品剧情在线观看| 欧美日韩高清在线| 99热在这里有精品免费| 国产一区二区免费看| 三级亚洲高清视频| 一个色在线综合|