⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 daoru.pas

📁 一个简单的学生费用管理系统
💻 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 + -