吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2546|回复: 1
收起左侧

[会员申请] 申请会员ID:tsoap007

[复制链接]
吾爱游客  发表于 2015-6-15 16:10

1、申 请 I D:tsoap007
2、个人邮箱:297003572@qq.com
原创代码:我是delphi的忠实爱好者,习惯用delphi编写数据库类的程序。如下为我个人完成的一个小脚本,完成从oracle导入数据到sqlserver的小程序代码,请斑竹给予机会,多谢!
unit Unit4;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls,   DB, MemDS, DBAccess, ADODB, Uni, UniProvider,
  OracleUniProvider, ODBCUniProvider, AdvantageUniProvider, MySQLUniProvider,
  SQLServerUniProvider, Vcl.Imaging.jpeg, Vcl.ExtCtrls;

type
    TForm4 = class(TForm)
    Button1: TButton;
    UniConnection1: TUniConnection;
    UniQuery1: TUniQuery;
    UniConnection2: TUniConnection;
    UniQuery2: TUniQuery;
    OracleUniProvider1: TOracleUniProvider;
    AdvantageUniProvider1: TAdvantageUniProvider;
    SQLServerUniProvider1: TSQLServerUniProvider;
    Label1: TLabel;
    Image1: TImage;
    Image2: TImage;
    Button2: TButton;
    Button3: TButton;
    Label2: TLabel;
    Button4: TButton;
    Button5: TButton;
    Label3: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }

  end;

var
  Form4: TForm4;

implementation

{$R *.dfm}

procedure TForm4.Button1Click(Sender: TObject);
var
  str2,constr,ID,USER_NAME,SEX,EDUCATION,DEGREE,MAJOR,CARD_ID,JOB_TITLE, MAIL_ADDR,Work_Unit,PHONE,LINK_TEL,EMAIL,MAJOR_TYPE,APPLY_EXPERT_TYPE:string;
  i:integer;
  strs:Tstrings;
begin
    //连接sqlserver库
    with UniQuery2 do
      begin
        Close ;
        UniQuery2.SQL.Clear ;
        Str2 := 'insert into expert(name,sex,EducationID,DEGREEID,MajorID,IDCard,TechnicalID,cAddr,WorkUnit,Mobile,cTel,EMAIL,B_MainMajorID,M_MainMajorID,M_OneMajorID,M_TwoMajorID,ExpertType,ExpertID ) ' +
                               ' values(:P1,:P2,:P3,:P4,:P5,:P6,:P7,:P8,:P9,:P10,:P11,:P12,:P13,:P14,:P15,:P16,:P17,:P18)' ;
        UniQuery2.SQL.Clear;
        UniQuery2.SQL.Add(Str2) ;
        end  ;

    //连接oracle库
    with UniQuery1 do
      begin
        Close ;
        UniQuery1.sql.clear ;
        UniQuery1.SQL.Add('select USER_NAME,SEX,EDUCATION,DEGREE,MAJOR,CARD_ID,JOB_TITLE,MAIL_ADDR,Work_Unit,PHONE,LINK_TEL,EMAIL,APPLY_EXPERT_TYPE,MAJOR_TYPE,APPLY_EXPERT_TYPE,ID from expert_info_tmp');
        UniQuery1.Open;
        First ;


      while not Eof do
        begin
        for i := 0 to UniQuery1.FieldCount-1 do
         begin
         //ORACLE库字段
          USER_NAME := UniQuery1.FieldByName('USER_NAME').AsString ;
          //BIRTH_DATE := UniQuery1.FieldByName('BIRTH_DATE').AsString ;
          SEX := UniQuery1.FieldByName('SEX').AsString ;
          EDUCATION := UniQuery1.FieldByName('EDUCATION').AsString ;
          DEGREE := UniQuery1.FieldByName('DEGREE').AsString ;
          MAJOR := UniQuery1.FieldByName('MAJOR').AsString ;
          CARD_ID := UniQuery1.FieldByName('CARD_ID').AsString ;
          JOB_TITLE := UniQuery1.FieldByName('JOB_TITLE').AsString ;
          MAIL_ADDR := UniQuery1.FieldByName('MAIL_ADDR').AsString ;
          Work_Unit := UniQuery1.FieldByName('Work_Unit').AsString ;
          PHONE := UniQuery1.FieldByName('PHONE').AsString ;
          LINK_TEL := UniQuery1.FieldByName('LINK_TEL').AsString ;
          EMAIL := UniQuery1.FieldByName('EMAIL').AsString ;
          APPLY_EXPERT_TYPE := UniQuery1.FieldByName('APPLY_EXPERT_TYPE').AsString ;
          MAJOR_TYPE := UniQuery1.FieldByName('MAJOR_TYPE').AsString ;
          APPLY_EXPERT_TYPE := UniQuery1.FieldByName('APPLY_EXPERT_TYPE').AsString ;
          ID := UniQuery1.FieldByName('ID').AsString ;

          end;
          //sql库字段
          UniQuery2.ParamByName('P1').Value := USER_NAME ;
          //UniQuery2.ParamByName('P2').value :=formatdatetime('yyyy-mm-dd',strtodate(BIRTH_DATE));
          //UniQuery2.ParamByName('P2').Value := BIRTH_DATE ;
          UniQuery2.ParamByName('P2').Value := SEX ;
          UniQuery2.ParamByName('P3').Value := EDUCATION ;
          UniQuery2.ParamByName('P4').Value := DEGREE ;
          UniQuery2.ParamByName('P5').Value := MAJOR ;
          UniQuery2.ParamByName('P6').Value := CARD_ID ;
          UniQuery2.ParamByName('P7').Value := JOB_TITLE ;
          UniQuery2.ParamByName('P8').Value := MAIL_ADDR ;
          UniQuery2.ParamByName('P9').Value := Work_Unit ;
          UniQuery2.ParamByName('P10').Value := PHONE ;
          UniQuery2.ParamByName('P11').Value := LINK_TEL ;
          UniQuery2.ParamByName('P12').Value := EMAIL ;
          UniQuery2.ParamByName('P13').Value := APPLY_EXPERT_TYPE ;
          begin
          constr:=MAJOR_TYPE;
          begin
            strs:= TStringList.Create;
            strs.CommaText := constr;
            for i := 0 to Strs.Count-1 do
            UniQuery2.ParamByName('P14').Value := Strs[0] ;
            UniQuery2.ParamByName('P15').Value := Strs[1] ;
            UniQuery2.ParamByName('P16').Value := Strs[2] ;
          end;
          end;
          UniQuery2.ParamByName('P17').Value := APPLY_EXPERT_TYPE ;
          UniQuery2.ParamByName('P18').Value := copy(FieldByName('ID').AsString, 13,11 );
          UniQuery2.ExecSQL;

          next;
        end;
      end;
        ShowMessage('导入成功');
      end;
procedure TForm4.Button2Click(Sender: TObject);
begin
  with UniQuery2 do
      begin
        Close ;
        UniQuery2.SQL.Clear ;
        UniQuery2.SQL.Add('delete from expert') ;
        UniQuery2.ExecSQL;
      end;
        ShowMessage('清空完毕');
end;

procedure TForm4.Button3Click(Sender: TObject);
begin
with UniQuery2 do
      begin
        Close ;
        UniQuery2.SQL.Clear ;
        UniQuery2.SQL.Add('delete from expert where mobile='''' ') ;
        UniQuery2.ExecSQL;
      end;
      ShowMessage('筛查完毕');
end;

procedure TForm4.Button4Click(Sender: TObject);
begin
with UniQuery2 do
      begin
        Close ;
        UniQuery2.SQL.Clear ;
        UniQuery2.SQL.Add('update expert set sex=''男''where sex=''1''') ;
        UniQuery2.SQL.Add('update expert set sex=''女''where sex=''2''') ;

        UniQuery2.SQL.Add('update expert set B_MainMajorID=''食品安全专家''where B_MainMajorID=''31''') ;
        UniQuery2.SQL.Add('update expert set B_MainMajorID=''医疗器械评价专家''where B_MainMajorID=''21''') ;
        UniQuery2.SQL.Add('update expert set B_MainMajorID=''医疗器械安全性评价专家''where B_MainMajorID=''22''') ;
        UniQuery2.SQL.Add('update expert set B_MainMajorID=''药品注册现场检查及评审专家''where B_MainMajorID=''11''') ;
        UniQuery2.SQL.Add('update expert set B_MainMajorID=''保健食品评审专家''where B_MainMajorID=''41''') ;
        UniQuery2.SQL.Add('update expert set B_MainMajorID=''化妆品评审专家''where B_MainMajorID=''51''') ;
        UniQuery2.SQL.Add('update expert set B_MainMajorID=''保健用品评审专家''where B_MainMajorID=''42''') ;
        UniQuery2.SQL.Add('update expert set B_MainMajorID=''药品安全性评价专家''where B_MainMajorID=''12''') ;
        UniQuery2.SQL.Add('update expert set B_MainMajorID=''化妆品安全性评价专家''where B_MainMajorID=''52''') ;

        //UniQuery2.SQL.Add('update expert set ExpertType=''资深专家''') ;
        UniQuery2.SQL.Add('update expert set EducationID=''大专''where EducationID=''4''') ;
        UniQuery2.SQL.Add('update expert set EducationID=''本科''where EducationID=''5''') ;
        UniQuery2.SQL.Add('update expert set EducationID=''研究生''where EducationID=''6''') ;
        UniQuery2.ExecSQL;
      end;
        ShowMessage('数据字段一致完成');
end;

procedure TForm4.Button5Click(Sender: TObject);
begin
  close;
end ;


end.



发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

Hmily 发表于 2015-6-16 11:14
抱歉,未能达到精华水平,申请不通过,可以关注论坛官方微信(吾爱破解论坛),等待开放注册通知。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-15 19:26

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表