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

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

?? ufrmimportdb2.pas

?? 數據庫通用工具
?? PAS
?? 第 1 頁 / 共 2 頁
字號:
  
  addMo( '------------------------------' );
  addMo( '目的庫: '+edita2.Text );
  addMo( '目的表: '+editb5.Text );
  addMo( '目的表: 字段數 '+IntToStr(a) );
  //addMo( '目的表: 記錄數 '+IntToStr( Query2.RecordCount ) );
  addMo( '目的表: 記錄數 '+IntToStr(labRb.Tag) );
  
  lv2.Items.Clear;
  
  for i := 0 to a-1 do
  begin
    ss := DBGrid2.Columns.Items[i].FieldName;
    item := lv2.Items.Add;
    item.Caption := ss;
    item.SubItems.Add( getFieldType( DBGrid2.Columns.Items[i].Field.ClassName ) );
    item.SubItems.Add( IntToStr( DBGrid2.Columns.Items[i].Field.Size ) );
  end;
  
  if lv2.Items.Count > 0 then
  begin
    lv2.Items.Item[0].Selected := true;
  end;
  
end;

procedure TfrmImportDB2.lv1CustomDrawSubItem(Sender: TCustomListView;
  Item: TListItem; SubItem: Integer; State: TCustomDrawState;
  var DefaultDraw: Boolean);
begin
  case SubItem of
    1: Sender.Canvas.Font.Color := clFuchsia;
    2: Sender.Canvas.Font.Color := clBlue;
    3: Sender.Canvas.Font.Color := clRed;
  else Sender.Canvas.Font.Color := clBlack;
  end;
end;

procedure TfrmImportDB2.lv1CustomDrawItem(Sender: TCustomListView;
  Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
var
  ss : string;
begin
  {
  ss := item.SubItems.Strings[0];
  
  if SameText('1',ss) then
  begin
    Sender.Canvas.Font.Color := clBlue;
  end
  else if SameText('2',ss) then
  begin
    Sender.Canvas.Font.Color := clGreen;
  end
  else if SameText('3',ss) then
  begin
    Sender.Canvas.Font.Color := clMaroon;
  end
  else if SameText('4',ss) then
  begin
    Sender.Canvas.Font.Color := clPurple;
  end
  else
  begin
    Sender.Canvas.Font.Color := clRed;
  end;
  //}
end;

procedure TfrmImportDB2.lv2CustomDrawSubItem(Sender: TCustomListView;
  Item: TListItem; SubItem: Integer; State: TCustomDrawState;
  var DefaultDraw: Boolean);
begin
  case SubItem of
    1: Sender.Canvas.Font.Color := clFuchsia;
    2: Sender.Canvas.Font.Color := clBlue;
    3: Sender.Canvas.Font.Color := clRed;
  else Sender.Canvas.Font.Color := clBlack;
  end;
end;

procedure TfrmImportDB2.lv1Resize(Sender: TObject);
begin
  ShowScrollBar( lv1.Handle,   SB_HORZ,   False);
end;

procedure TfrmImportDB2.lv2Resize(Sender: TObject);
begin
  ShowScrollBar( lv2.Handle,   SB_HORZ,   False);
end;

procedure TfrmImportDB2.BitBtn1Click(Sender: TObject);
var
  i,j:integer;
  sa,sb:string;
  item2 : TListItem;
begin
  lv.Items.Clear();

  for  i:= 0 to lv1.Items.Count-1 do
  begin
    item := lv1.Items.Item[i];
    sa := item.Caption;
    
    for j := 0 to lv2.Items.Count-1 do
    begin
      item2 := lv2.Items.Item[j];
      sb := item2.Caption;
      
      if SameText(sb,sa) then
      begin
        with lv.Items.Add do
        begin
          Caption := sa ;
          SubItems.Add( sb );
          SubItems.Add( item.SubItems.Strings[0] );
        end;
        break;
      end;
    end;
  end;

  if lv.Items.Count>0 then
  begin
    bbtRun.Enabled := true;
    btndel.Enabled := true;
    btnclear.Enabled := true;
  end; 

end;

procedure TfrmImportDB2.btnaddClick(Sender: TObject);
begin
  if lv1.Selected=nil then Exit;
  if lv2.Selected=nil then Exit;

  if SameText( lv1.Selected.SubItems.Strings[0],lv2.Selected.SubItems.Strings[0]) then
  begin
    item := lv.Items.Add;
    item.Caption := lv1.Selected.Caption ;
    item.SubItems.Add( lv2.Selected.Caption );
    item.SubItems.Add( lv1.Selected.SubItems.Strings[0] );
  end
  else
  begin
    item := lv.Items.Add;
    item.Caption := lv1.Selected.Caption ;
    item.SubItems.Add( lv2.Selected.Caption );
    item.SubItems.Add( lv2.Selected.SubItems.Strings[0] );
    addMo( '------------------------------' );
    addMo( '目的表字段['+lv2.Selected.Caption+']' );
    addMo( '源表字段  ['+lv1.Selected.Caption+']' );
    addMo( '類型不一致,取目的表字段的類型: '+lv2.Selected.SubItems.Strings[0] );
  end;
  
  bbtRun.Enabled := true;
  btndel.Enabled := true;
  btnclear.Enabled := true;
end;

procedure TfrmImportDB2.btnclearClick(Sender: TObject);
begin
  lv.Items.Clear();
  bbtRun.Enabled := false;
  btndel.Enabled := false;
  btnclear.Enabled := false;
end;

procedure TfrmImportDB2.btndelClick(Sender: TObject);
begin
  if lv.Selected = nil then
  begin
    exit;
  end;

  lv.Selected.Delete;

  if lv.Items.Count = 0 then
  begin
    bbtRun.Enabled := false;
    btndel.Enabled := false;
    btnclear.Enabled := false;
  end;
  
end;

procedure TfrmImportDB2.lvCustomDrawSubItem(Sender: TCustomListView;
  Item: TListItem; SubItem: Integer; State: TCustomDrawState;
  var DefaultDraw: Boolean);
begin
  case SubItem of
    1: Sender.Canvas.Font.Color := clFuchsia;
    2: Sender.Canvas.Font.Color := clBlue;
    3: Sender.Canvas.Font.Color := clRed;
  else Sender.Canvas.Font.Color := clBlack;
  end;
end;

procedure TfrmImportDB2.lvResize(Sender: TObject);
begin
  ShowScrollBar( lv.Handle,   SB_HORZ,   False);//SB_BOTH
end;

function TfrmImportDB2.setFieldToParam( stype : string; tp : TParam; tf : TField ) : Integer;
var
  ff : TBlobField;
begin
  //
  Result := 0;
  //if SameText( stype,'' ) then
  if SameText( stype,'int' ) then//TIntegerField
  begin
    tp.AsInteger := tf.AsInteger;
  end
  else if SameText( stype,'varchar' ) then//='TStringField' then
  begin
    tp.AsString := tf.AsString;
  end
  else if SameText( stype,'float' ) then//='TFloatField' then
  begin
    tp.AsFloat := tf.AsFloat;
  end
  else if SameText( stype,'money' ) then//='TCurrencyField' then
  begin
    tp.AsFloat := tf.AsFloat;
  end
  else if SameText( stype,'datetime' ) then//='TDateTimeField' then
  begin
    tp.AsDateTime := tf.AsDateTime;
  end
  else if SameText( stype,'bit' ) then//='TBooleanField' then
  begin
    tp.AsBoolean := tf.AsBoolean;
  end
  else if SameText( stype,'image' ) then//='TBlobField' then
  begin
//    tp.Value := tf.AsVariant;
//    tp.AsBlob := tf.AsVariant;
    try
      ff := TBlobField( tf );
      ff.SaveToFile( path+'temp' );
      tp.LoadFromFile( path+'temp',ftBlob );
    except
    end;

  end
  else if SameText( stype,'int(自增)' ) then//='TAutoIncField' then
  begin
    Exit;//============
  end
  else if SameText( stype,'smallint' ) then//='TSmallintField' then
  begin
    tp.AsInteger := tf.AsInteger;
  end
  else if SameText( stype,'text' ) then//='TMemoField' then
  begin
    tp.AsMemo := tf.AsString;
  end
  else
  begin
    Exit;//============
  end;
  Result := 1;
end;

procedure TfrmImportDB2.bbtRunClick(Sender: TObject);
var
  sa,sb,st : string;
  i,x,v : integer;
  ss,sql,sfield,svalue : string;
  tdt : TDateTime;
begin
  if lv.Items.count<=0 then Exit;
  if Query1.IsEmpty then
  begin
    addMo( '源表 '+edita5.Text+' 中沒有記錄!' );
    Exit;
  end;

  bbtRun.Enabled := false;
    
  //操作時暫停數據集關聯滾動
  Query1.DisableControls;
  Query2.DisableControls;

  //組織插入語句
  sql := 'insert into '+editb5.Text +' (';

  sfield := '';
  svalue := '';
  for i := 0 to lv.Items.Count-1 do
  begin
    item := lv.Items.Item[i];
    sa := item.Caption;//源表字段
    sb := item.SubItems.Strings[0];//目的表字段
    st := item.SubItems.Strings[1];//字段類型(目的表)

    if not SameText(st,'int(自增)') then
    begin
      sfield := sfield+','+sb;
//      svalue := svalue+',:'+sa;//2008-9-1 del
      svalue := svalue+',:'+sb;//目的表的字段和值假定同名
    end;

  end;

  Delete(sfield,1,1);
  Delete(svalue,1,1);

  sql := sql + sfield + ') values (' + svalue + ')';
  addMo( sql );

  Query2.Close;
  Query2.SQL.Text := sql;
  //-------------------------------------------
  ProgressBar1.Max := labRa.Tag;
  ProgressBar1.Position := 0;
  bDoing := true;
  StatusBar1.Refresh;
    
  //開始循環導入
  addMo( '------------------------------' );
  addMo( '開始導入...');
  x := 0;
  v := 0;
  tdt := Now;             
  addMo( '開始時間: '+FormatDateTime('yy-MM-dd hh:mm:ss',tdt));
  
  with Query1 do
  begin
    First;
    while not Eof do
    begin
      Application.ProcessMessages;
      
      Query2.Close;
      
      for i := 0 to lv.Items.Count-1 do
      begin
        item := lv.Items.Item[i];
        sa := item.Caption;//源表字段
        sb := item.SubItems.Strings[0];//目的表字段
        st := item.SubItems.Strings[1];//字段類型(目的表)

        if not SameText(st,'int(自增)') then
        begin
//          setFieldToParam( stype : string; tp : TParam; tf : TField );
          setFieldToParam( st,Query2.ParamByName(sb),Query1.FieldByName(sa) );          
        end;

      end;

      try
        Query2.ExecSQL; 
        inc(v);
      except
        inc(x);
      end;

      if ProgressBar1.Position<ProgressBar1.Max then
      begin
        ProgressBar1.Position := ProgressBar1.Position + 1;
        ProgressBar1.Repaint;
      end;

      Next;
    end;
    First;  
  end;

  tdt := Now - tdt;
  addMo( '結束時間: '+FormatDateTime('yy-MM-dd hh:mm:ss',Now));
  addMo( '用時: '+FormatDateTime('hh:mm:ss',tdt));
  addMo( '------------------------------' );
  addMo( '導入成功: '+IntToStr(v) );
  addMo( '導入失敗: '+IntToStr(x) );
  addMo( '導入完畢。' );

  ProgressBar1.Visible := false;
  bDoing := False;
  StatusBar1.Refresh;

  //回復數據集關聯
  Query1.EnableControls;
  Query2.EnableControls;
  
  //刷新顯示
  {
  Query2.Close;
  Query2.SQL.Text := 'select * from '+editb5.Text;
  try
    Query2.Open;
    labRb.Caption := '記錄數 '+IntToStr( Query2.RecordCount );
  except
  end;
  //}
  editb5.OnChange(Sender);

end;

procedure TfrmImportDB2.lvKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key=VK_DELETE then
  begin
    btndel.Click;
  end;

end;

procedure TfrmImportDB2.moKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key=VK_ESCAPE then
  begin
    btnout.Click;
  end;
end;

procedure TfrmImportDB2.FormCreate(Sender: TObject);
var
  ProgressBarStyle: integer;
begin
  //將狀態欄的第二塊面板設為的自繪(即psOwnerDraw)
  StatusBar1.Panels[2].Style := psOwnerDraw;

  //將進程條放入狀態欄
  ProgressBar1.Parent := StatusBar1;

  //去除狀態欄的邊框,這樣就與狀態欄溶為一體了
  ProgressBarStyle := GetWindowLong(ProgressBar1.Handle,GWL_EXSTYLE);
  ProgressBarStyle := ProgressBarStyle - WS_EX_STATICEDGE;
  SetWindowLong( ProgressBar1.Handle, GWL_EXSTYLE, ProgressBarStyle);

  bDoing := False;
end;

procedure TfrmImportDB2.StatusBar1DrawPanel(StatusBar: TStatusBar;
  Panel: TStatusPanel; const Rect: TRect);
begin
  //注意這里的Panels[1]指的就是第2塊面板,因為默認是從0開始的
  if bDoing then
  begin
    ProgressBar1.Visible := True;
    if Panel = StatusBar.Panels[2] then
    begin
      with ProgressBar1 do
      begin
        Top := Rect.Top;
        Left := Rect.Left;
        Width := Rect.Right - Rect.Left;// - 15;
        Height := Rect.Bottom - Rect.Top;
      end;
    end;
  end;
end;

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩精品色哟哟| 亚洲一卡二卡三卡四卡无卡久久| 国产自产高清不卡| 337p日本欧洲亚洲大胆色噜噜| 美女网站色91| 久久久国产精品午夜一区ai换脸| 国产一区 二区| 椎名由奈av一区二区三区| 欧美亚洲一区二区三区四区| 婷婷丁香久久五月婷婷| 精品国内二区三区| 99精品视频在线播放观看| 亚洲码国产岛国毛片在线| 欧美人与性动xxxx| 国产一区二区三区久久久 | 精品久久久久久无| 国产成人日日夜夜| 亚洲影院理伦片| 日韩精品一区二区三区视频| 成人小视频免费在线观看| 亚洲成av人影院| 久久精品欧美一区二区三区不卡 | 日本亚洲电影天堂| 国产欧美日韩亚州综合| 欧美色图在线观看| 极品尤物av久久免费看| 亚洲天堂av一区| 欧美一区二区日韩| 99精品视频一区| 另类调教123区| 一区二区三区不卡视频在线观看| 欧美一级爆毛片| 91视频国产资源| 久久精品国产一区二区三区免费看| 欧美激情自拍偷拍| 7777精品伊人久久久大香线蕉 | 亚洲摸摸操操av| 欧美一区二区三区喷汁尤物| 不卡电影一区二区三区| 蜜臀av性久久久久蜜臀av麻豆| 亚洲视频一区在线| 久久美女艺术照精彩视频福利播放| 91蜜桃传媒精品久久久一区二区| 久久 天天综合| 午夜亚洲福利老司机| 国产精品视频一区二区三区不卡| 欧美一级黄色大片| 91久久一区二区| av一区二区三区在线| 国内成+人亚洲+欧美+综合在线| 亚洲午夜私人影院| 国产精品国产三级国产普通话99| 精品久久久久99| 91麻豆精品国产自产在线观看一区 | 午夜精品久久久久久久99樱桃| 国产精品久久久久三级| 欧美精品一区二区三区蜜桃视频 | 不卡一区在线观看| 国产成人精品一区二区三区四区 | 亚洲天堂中文字幕| 国产精品嫩草99a| 久久精品日产第一区二区三区高清版| 91精品国产91热久久久做人人| 在线观看免费亚洲| 91久久奴性调教| 91视视频在线观看入口直接观看www| 国产成人av影院| 国产一区999| 国产精品中文字幕日韩精品| 精品无人码麻豆乱码1区2区| 日本91福利区| 老司机精品视频导航| 美腿丝袜亚洲综合| 老色鬼精品视频在线观看播放| 美女看a上一区| 久热成人在线视频| 久久av中文字幕片| 精品一区二区三区在线观看| 韩国女主播成人在线观看| 久草精品在线观看| 国产主播一区二区| 国产精品一卡二卡| 成人午夜在线播放| av午夜精品一区二区三区| 99re热这里只有精品免费视频| 91在线国内视频| 日本韩国视频一区二区| 欧美日韩精品是欧美日韩精品| 欧美日韩国产123区| 日韩视频免费观看高清完整版| 日韩一级高清毛片| 久久亚洲一区二区三区四区| 国产欧美视频一区二区三区| 亚洲欧洲制服丝袜| 天天综合色天天综合| 狠狠色丁香婷综合久久| 东方aⅴ免费观看久久av| 91在线国内视频| 欧美丰满少妇xxxxx高潮对白| 日韩欧美不卡一区| 中文字幕在线观看不卡视频| 依依成人精品视频| 日本不卡高清视频| 国产精品一二三四区| 91国内精品野花午夜精品| 91精品国产综合久久精品性色| 精品国产乱码91久久久久久网站| 欧美国产综合色视频| 亚洲国产美女搞黄色| 国内精品国产成人国产三级粉色 | 成人不卡免费av| 欧美在线观看18| 精品播放一区二区| 亚洲久草在线视频| 国产一区在线精品| 欧美日精品一区视频| 久久影音资源网| 亚洲chinese男男1069| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 亚洲成人www| 国产成人午夜99999| 欧美剧情片在线观看| 久久精品网站免费观看| 婷婷夜色潮精品综合在线| 丁香天五香天堂综合| 欧美日韩一区二区不卡| 国产欧美日韩在线看| 蜜臀av性久久久久av蜜臀妖精| av亚洲精华国产精华精华| 精品国产凹凸成av人导航| 亚洲精品国产a| 风流少妇一区二区| 日韩女优av电影| 午夜精品福利视频网站| 色综合天天综合色综合av| 国产喂奶挤奶一区二区三区| 日日摸夜夜添夜夜添国产精品| 不卡的看片网站| 久久欧美一区二区| 首页亚洲欧美制服丝腿| 色综合久久久久| 国产欧美一区在线| 国内精品写真在线观看| 51午夜精品国产| 亚洲国产精品久久人人爱蜜臀| 99久久精品免费看| 国产欧美日韩麻豆91| 精品无人区卡一卡二卡三乱码免费卡| 欧美日韩国产精选| 亚洲综合一二三区| 91在线观看美女| 国产精品久久久久久久浪潮网站 | 午夜影院在线观看欧美| 91美女蜜桃在线| 国产精品国产三级国产aⅴ原创| 精品亚洲成a人在线观看| 日韩三级.com| 久久精品免费观看| 欧美电影免费观看高清完整版在| 日韩av不卡一区二区| 欧美日韩一区二区欧美激情| 亚洲一区二区三区国产| 色老汉一区二区三区| 亚洲色图制服丝袜| 日本丶国产丶欧美色综合| 亚洲综合清纯丝袜自拍| 欧美日韩一区二区三区不卡| 亚洲6080在线| 制服.丝袜.亚洲.另类.中文| 天堂精品中文字幕在线| 日韩一级完整毛片| 国产一区二区在线观看免费 | 中文字幕在线一区| 99久久免费精品高清特色大片| 18欧美亚洲精品| 91国模大尺度私拍在线视频| 亚洲一区二区偷拍精品| 欧美日韩精品欧美日韩精品一| 日韩国产欧美一区二区三区| 日韩精品专区在线| 国产另类ts人妖一区二区| 国产精品区一区二区三区| 91在线精品一区二区三区| 亚洲高清三级视频| 欧美一级黄色录像| 成人永久看片免费视频天堂| 亚洲人精品午夜| 91麻豆精品国产91久久久更新时间| 麻豆久久久久久久| 国产精品水嫩水嫩| 欧美日韩二区三区| 久久不见久久见免费视频7 | 五月综合激情婷婷六月色窝| 欧美一区二区日韩一区二区| 国产成人欧美日韩在线电影| 亚洲综合免费观看高清完整版在线 | 亚洲成av人片在线观看| 日韩欧美高清在线| 91网页版在线| 奇米影视在线99精品|