Unit1.pas 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  1. unit Unit1;
  2. interface
  3. uses
  4. Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  5. Dialogs, DB, ADODB, StdCtrls, Spin, MD5;
  6. type
  7. TForm1 = class(TForm)
  8. ADOConnection1: TADOConnection;
  9. ADOConnection2: TADOConnection;
  10. Button1: TButton;
  11. ADODataSet1: TADODataSet;
  12. ADOQuery1: TADOQuery;
  13. Label1: TLabel;
  14. SpinEdit1: TSpinEdit;
  15. procedure FormCreate(Sender: TObject);
  16. procedure Button1Click(Sender: TObject);
  17. private
  18. { Private declarations }
  19. public
  20. { Public declarations }
  21. end;
  22. var
  23. Form1: TForm1;
  24. implementation
  25. {$R *.dfm}
  26. procedure TForm1.FormCreate(Sender: TObject);
  27. begin
  28. ADOConnection1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Password="";Data Source=' + ExtractFilePath(Application.ExeName) + '单位用户.mdb;Persist Security Info=True';
  29. end;
  30. procedure TForm1.Button1Click(Sender: TObject);
  31. var
  32. iLoop: Integer;
  33. Sex,
  34. LoginName,
  35. TrueName,
  36. DisplayName,
  37. Duty,
  38. Tel,
  39. Mobile,
  40. ShortMobile,
  41. OfficeID,
  42. Email: String;
  43. begin
  44. ADOConnection1.Connected := True;
  45. ADOConnection2.Connected := True;
  46. ADODataSet1.CommandText := 'SELECT * FROM Sheet1';
  47. ADODataSet1.Active := True;
  48. iLoop := 0;
  49. while not ADODataSet1.Eof do
  50. begin
  51. ADOQuery1.SQL.Text := 'delete Users where LoginName=''' + ADODataSet1.FindField('用户名').Value + '''';
  52. ADOQuery1.ExecSQL;
  53. Sex := '0';
  54. LoginName := ADODataSet1.FindField('用户名').Value;
  55. TrueName := ADODataSet1.FindField('单位名称').Value;
  56. DisplayName := ADODataSet1.FindField('单位名称').Value;
  57. Duty := '';
  58. Tel := '';
  59. Mobile := '';
  60. ShortMobile := '';
  61. OfficeID := '';
  62. Email := '';
  63. ADOQuery1.SQL.Text := 'insert into Users ' +
  64. '(LoginName, ' +
  65. 'Password, ' +
  66. 'Sex, ' +
  67. 'TrueName, ' +
  68. 'DisplayName, ' +
  69. 'Duty, ' +
  70. 'Tel, ' +
  71. 'Mobile, ' +
  72. 'Email, ' +
  73. 'BranchID,' +
  74. '[Position],' +
  75. 'Version)' +
  76. 'Values ' +
  77. '(''' + LoginName + ''',' +
  78. '''' + MD5.MD5En('12345678') + ''',' +
  79. '''' + Sex + ''',' +
  80. '''' + TrueName + ''',' +
  81. '''' + DisplayName + ''',' +
  82. '''' + Duty + ''',' +
  83. '''' + Tel + ''',' +
  84. '''' + Mobile + ''',' +
  85. '''' + Email + ''',' +
  86. '' + IntToStr(SpinEdit1.Value) + ',' +
  87. '' + IntToStr(100 + iLoop) + ',' +
  88. '1)';
  89. ADOQuery1.ExecSQL;
  90. Inc(iLoop);
  91. Caption := '已导入 ' + IntToStr(iLoop) + ' 条记录';
  92. Application.ProcessMessages;
  93. ADODataSet1.Next;
  94. end;
  95. {
  96. iLoop := 0;
  97. while not ADODataSet1.Eof do
  98. begin
  99. ADOQuery1.SQL.Text := 'delete Users where LoginName=''' + ADODataSet1.FindField('F1').Value + '''';
  100. ADOQuery1.ExecSQL;
  101. if AnsiSameText(ADODataSet1.FindField('F3').Value, '男') then
  102. Sex := '0'
  103. else
  104. Sex := '1';
  105. LoginName := ADODataSet1.FindField('F1').Value;
  106. TrueName := ADODataSet1.FindField('F2').Value;
  107. DisplayName := ADODataSet1.FindField('F2').Value;
  108. try
  109. Duty := ADODataSet1.FindField('F4').Value;
  110. except
  111. Duty := '';
  112. end;
  113. try
  114. Tel := ADODataSet1.FindField('F5').Value;
  115. except
  116. Tel := '';
  117. end;
  118. try
  119. Mobile := ADODataSet1.FindField('F6').Value;
  120. except
  121. Mobile := '';
  122. end;
  123. try
  124. ShortMobile := ADODataSet1.FindField('F7').Value;
  125. except
  126. ShortMobile := '';
  127. end;
  128. try
  129. OfficeID := ADODataSet1.FindField('F8').Value;
  130. except
  131. OfficeID := '';
  132. end;
  133. try
  134. Email := ADODataSet1.FindField('F9').Value;
  135. except
  136. Email := '';
  137. end;
  138. ADOQuery1.SQL.Text := 'insert into Users ' +
  139. '(LoginName, ' +
  140. 'Password, ' +
  141. 'Sex, ' +
  142. 'TrueName, ' +
  143. 'DisplayName, ' +
  144. 'Duty, ' +
  145. 'Tel, ' +
  146. 'Mobile, ' +
  147. 'Email, ' +
  148. 'BranchID,' +
  149. '[Position],' +
  150. 'Version)' +
  151. 'Values ' +
  152. '(''' + LoginName + ''',' +
  153. '''96e79218965eb72c92a549dd5a330112'',' +
  154. '''' + Sex + ''',' +
  155. '''' + TrueName + ''',' +
  156. '''' + DisplayName + ''',' +
  157. '''' + Duty + ''',' +
  158. '''' + Tel + ''',' +
  159. '''' + Mobile + ''',' +
  160. '''' + Email + ''',' +
  161. '' + IntToStr(SpinEdit1.Value) + ',' +
  162. '' + IntToStr(iLoop) + ',' +
  163. '1)';
  164. ADOQuery1.ExecSQL;
  165. Inc(iLoop);
  166. Caption := '已导入 ' + IntToStr(iLoop) + ' 条记录';
  167. Application.ProcessMessages;
  168. ADODataSet1.Next;
  169. end;
  170. }
  171. end;
  172. end.