📄 daoru.pas
字号:
unit daoru;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, Grids, DBGrids, StdCtrls, Buttons;
type
TForm5 = class(TForm)
DBGrid1: TDBGrid;
DataSource1: TDataSource;
ADOTable1: TADOTable;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
open_database: TOpenDialog;
GroupBox1: TGroupBox;
Button1: TButton;
Edit1: TEdit;
ListBox1: TListBox;
Label1: TLabel;
ADOTable2: TADOTable;
DataSource2: TDataSource;
DBGrid2: TDBGrid;
ADOConnection1: TADOConnection;
ADOQuery1: TADOQuery;
procedure BitBtn2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure ListBox1DblClick(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form5: TForm5;
implementation
uses DM,About;
{$R *.dfm}
procedure TForm5.BitBtn2Click(Sender: TObject);
begin
close;
end;
procedure TForm5.Button1Click(Sender: TObject);
var
access:string;
const
link_str='Provider=%s; Data Source=%s';
dataprovider='microsoft.jet.oledb.4.0';
begin
open_database.FileName :='*.mdb';
if open_database.Execute then
begin
access:=open_database.FileName ;
edit1.Text :=access;
ADOConnection1.Connected :=false;
aDOConnection1.ConnectionString :=format(link_str,[dataprovider,access]);
ADOConnection1.Connected :=true;
ADOConnection1.GetTableNames(listbox1.Items);
end;
end;
procedure TForm5.ListBox1DblClick(Sender: TObject);
begin
adotable2.close ;
adotable2.TableName:=listbox1.Items.Strings[listbox1.itemindex];
adotable2.Open;
end ;
procedure TForm5.BitBtn1Click(Sender: TObject);
var
i,j,k:integer;
bool:boolean;
begin
k:=0;
bool:=true;
if adotable1.FieldCount=adotable2.FieldCount then
begin
for i:=0 to adotable1.fieldCount-1 do
if adoTable1.Fields[i].FieldName<>adoTable2.Fields[i].fieldName then
begin
bool:=false;
break;
end;
if bool=true then
begin
adotable2.First;
for j:=0 to adotable2.RecordCount-1 do
begin
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from fy_b where xh='+quotedstr(adotable2.FieldValues['xh'])+'and fyh='+quotedstr(adotable2.FieldValues['fyh'])+'and nf='+quotedstr(adotable2.FieldValues['nf'])) ;
adoquery1.Open;
if adoquery1.RecordCount=0 then
begin
adoquery1.Insert;
adoquery1.FieldValues['xh']:=adotable2.FieldValues['xh'];
adoquery1.FieldValues['xm']:=adotable2.FieldValues['xm'];
adoquery1.FieldValues['fym']:=adotable2.FieldValues['fym'];
adoquery1.FieldValues['fyh']:=adotable2.FieldValues['fyh'];
adoquery1.FieldValues['nf']:=adotable2.FieldValues['nf'];
adoquery1.FieldValues['yj']:=adotable2.FieldValues['yj'];
adoquery1.FieldValues['sj']:=adotable2.FieldValues['sj'];
adoquery1.FieldValues['qj']:=adotable2.FieldValues['qj'];
adoquery1.Post;
k:=k+1;
end;
adotable2.Next;
end;
adotable1.Requery;
if k=0 then
showmessage('记录已经存在,没导入任何记录')
else
showmessage('成功导入'+inttostr(k)+'条记录');
end;
end
else
showmessage('请选择正确结构的数据表');
end;
procedure TForm5.FormCreate(Sender: TObject);
begin
adotable1.Active:=true;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -