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

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

?? ufrmimportnew.pas

?? 數(shù)據(jù)庫(kù)通用工具
?? PAS
?? 第 1 頁 / 共 2 頁
字號(hào):
  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;
  
  addMo( '------------------------------' );
  addMo( '目的庫(kù): '+edita2.Text );
  addMo( '目的表: '+editb5.Text );
  addMo( '目的表: 字段數(shù) '+IntToStr(a) );
  //addMo( '目的表: 記錄數(shù) '+IntToStr( Query2.RecordCount ) );
  addMo( '目的表: 記錄數(shù) '+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 TfrmImportNew.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 TfrmImportNew.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 TfrmImportNew.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 TfrmImportNew.lv1Resize(Sender: TObject);
begin
  ShowScrollBar( lv1.Handle,   SB_HORZ,   False);
end;

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

procedure TfrmImportNew.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 TfrmImportNew.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 TfrmImportNew.btnclearClick(Sender: TObject);
begin
  lv.Items.Clear();
  bbtRun.Enabled := false;
  btndel.Enabled := false;
  btnclear.Enabled := false;
end;

procedure TfrmImportNew.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 TfrmImportNew.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 TfrmImportNew.lvResize(Sender: TObject);
begin
  ShowScrollBar( lv.Handle,   SB_HORZ,   False);//SB_BOTH
end;

function TfrmImportNew.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 TfrmImportNew.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;
    
  //操作時(shí)暫停數(shù)據(jù)集關(guān)聯(lián)滾動(dòng)
  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;
    
  //開始循環(huán)導(dǎo)入
  addMo( '------------------------------' );
  addMo( '開始導(dǎo)入...');
  x := 0;
  v := 0;
  tdt := Now;             
  addMo( '開始時(shí)間: '+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( '結(jié)束時(shí)間: '+FormatDateTime('yy-MM-dd hh:mm:ss',Now));
  addMo( '用時(shí): '+FormatDateTime('hh:mm:ss',tdt));
  addMo( '------------------------------' );
  addMo( '導(dǎo)入成功: '+IntToStr(v) );
  addMo( '導(dǎo)入失敗: '+IntToStr(x) );
  addMo( '導(dǎo)入完畢。' );

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

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

end;

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

end;

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

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

  //將進(jìn)程條放入狀態(tài)欄
  ProgressBar1.Parent := StatusBar1;

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

  bDoing := False;
end;

procedure TfrmImportNew.StatusBar1DrawPanel(StatusBar: TStatusBar;
  Panel: TStatusPanel; const Rect: TRect);
begin
  //注意這里的Panels[1]指的就是第2塊面板,因?yàn)槟J(rèn)是從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.

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
911精品产国品一二三产区| 97se亚洲国产综合自在线观| 一本大道久久a久久精二百| 中文字幕在线观看不卡| 国产高清亚洲一区| 日本一区二区三区四区在线视频| 国产美女av一区二区三区| 久久久久久久久岛国免费| 99久久精品免费精品国产| 亚洲国产精品人人做人人爽| 欧美一区二区三区在线| 国产精品一级片在线观看| 夜夜精品视频一区二区| 欧美一区二区三级| 成人综合婷婷国产精品久久免费| 国产精品麻豆网站| 欧洲一区二区三区免费视频| 美腿丝袜亚洲一区| 亚洲精品高清在线| 久久九九99视频| 51久久夜色精品国产麻豆| 成人h动漫精品| 韩国三级在线一区| 天天操天天干天天综合网| 中文在线资源观看网站视频免费不卡 | 亚洲精品国产一区二区三区四区在线| 欧美影院一区二区三区| 成人一区二区三区中文字幕| 日日嗨av一区二区三区四区| 亚洲天堂a在线| 中文幕一区二区三区久久蜜桃| 国产成人高清在线| 三级欧美韩日大片在线看| 亚洲人成网站精品片在线观看| 日韩欧美一级在线播放| 91麻豆精品国产91久久久使用方法 | 在线观看91视频| 国产成人精品一区二区三区网站观看| 亚洲第一福利一区| 日韩高清不卡一区二区| 亚洲成av人综合在线观看| 亚洲综合图片区| 图片区小说区国产精品视频| 日韩伦理免费电影| 亚洲午夜精品网| 久久国内精品视频| 国产成a人无v码亚洲福利| www.亚洲免费av| 欧美系列在线观看| 精品国产乱码久久久久久图片| 日韩欧美成人一区| 国产精品国产自产拍高清av王其| 18欧美亚洲精品| 日本一区中文字幕| 成人av免费在线观看| 欧美日韩亚洲综合在线 | 男女性色大片免费观看一区二区| 日本不卡一区二区三区| 成人的网站免费观看| 26uuu色噜噜精品一区二区| aaa欧美大片| 国产精品99久久久久久久女警| 午夜成人在线视频| 成人自拍视频在线观看| 欧美蜜桃一区二区三区| 亚洲国产成人在线| 国内成人免费视频| 日韩欧美一二三区| 日韩中文欧美在线| 欧美性videosxxxxx| 亚洲色图在线看| 成人精品小蝌蚪| 欧美精品一区二区三区在线| 五月婷婷久久综合| 91国偷自产一区二区使用方法| 国产欧美精品一区二区色综合朱莉 | 久久久精品黄色| 韩国在线一区二区| 久久午夜色播影院免费高清 | 日韩精品一级中文字幕精品视频免费观看 | 国产欧美一区二区精品性色| 国内成人免费视频| 国产精品人人做人人爽人人添| 久久精品久久99精品久久| 91精品国产色综合久久不卡蜜臀| 亚洲乱码中文字幕| 欧美日韩一二区| 丝袜美腿亚洲综合| 欧美成人精品高清在线播放 | 欧美三级在线播放| 欧美电影免费观看高清完整版在线| 日本亚洲最大的色成网站www| 欧美一区二区三区四区在线观看| 亚洲国产视频一区二区| 欧美一区二区三区思思人| 国产成人午夜精品影院观看视频| 久久精品亚洲一区二区三区浴池| 99久久777色| 蜜臀av性久久久久蜜臀aⅴ流畅| 精品国产一区久久| 欧美四级电影网| 国产91对白在线观看九色| 天天影视涩香欲综合网| 日本一区二区三级电影在线观看 | 99视频在线观看一区三区| 亚洲电影你懂得| 亚洲欧美日韩人成在线播放| 精品国内二区三区| 制服丝袜一区二区三区| 91理论电影在线观看| 国产电影精品久久禁18| 青青草国产精品97视觉盛宴 | 中文字幕在线观看不卡视频| 日韩欧美国产1| 日韩精品一区二区三区蜜臀 | 国产aⅴ综合色| 精品一区二区久久| 蜜臀av性久久久久蜜臀aⅴ流畅| 亚洲黄色小说网站| 亚洲三级电影网站| 亚洲精品五月天| 亚洲va中文字幕| 性做久久久久久| 欧美国产日韩在线观看| 欧美二区在线观看| 精品久久久久久久人人人人传媒| 在线观看91av| 久久女同性恋中文字幕| 国产欧美日韩亚州综合| 精品国产一区二区三区忘忧草 | 97久久精品人人做人人爽50路| 成人午夜电影网站| 欧洲人成人精品| 欧美一区二区三区免费大片| 欧美一级黄色片| 国产喂奶挤奶一区二区三区| 亚洲三级电影网站| 五月综合激情网| 丁香五精品蜜臀久久久久99网站| 99国产欧美久久久精品| 在线观看91精品国产麻豆| 欧美国产精品一区二区三区| 国产精品久久久久久妇女6080| 亚洲无人区一区| 国产成人午夜99999| 在线观看三级视频欧美| 精品精品国产高清a毛片牛牛| 亚洲欧美欧美一区二区三区| 秋霞午夜av一区二区三区| 国产成人免费视频| 欧美精品一区二区三区蜜桃视频| 亚洲色图另类专区| 夫妻av一区二区| 国产精品毛片大码女人| 美国十次了思思久久精品导航| 在线观看成人免费视频| 国产精品不卡在线| 成人高清视频免费观看| 中文字幕 久热精品 视频在线| 久久成人麻豆午夜电影| 欧美一区二区三区在线看| 五月激情丁香一区二区三区| 欧美色区777第一页| 天天射综合影视| 日韩精品综合一本久道在线视频| 天堂va蜜桃一区二区三区| 欧美一区三区四区| 亚洲国产精品久久久久婷婷884| 另类的小说在线视频另类成人小视频在线 | 欧美在线观看一区| 日韩精品五月天| 久久久久久久综合狠狠综合| 高清国产一区二区| 怡红院av一区二区三区| 欧美一级在线免费| 成人一区二区三区视频在线观看| 最新欧美精品一区二区三区| 欧美人狂配大交3d怪物一区| 久久99这里只有精品| 国产精品久久久久7777按摩| 欧洲精品在线观看| 久久99久久99小草精品免视看| 国产午夜精品一区二区三区四区 | 日韩一区二区电影在线| 成人v精品蜜桃久久一区| 婷婷综合五月天| 国产精品理论片| 日韩欧美一级精品久久| 欧美一a一片一级一片| 国产激情一区二区三区桃花岛亚洲| 中文字幕欧美一| 国产亚洲成av人在线观看导航| 欧美日韩久久久| 色婷婷av一区二区三区大白胸| 国产精品亚洲一区二区三区在线| 亚洲一级电影视频| 一区二区三区 在线观看视频| 欧美国产一区二区在线观看 | 久久综合成人精品亚洲另类欧美| 欧美视频在线一区|