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

📄 unit1.pas

📁 简单封装数据库表的类的一个简单的例子: http://www.delphifans.com/SoftView/SoftView_1476.html
💻 PAS
字号:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls,
  UnitDataController, UnitDataOperator, UnitObjectClasses, UnitBaseTable,
  ComCtrls, ExtCtrls
  ;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Button1: TButton;
    Button3: TButton;
    Button4: TButton;
    edtUserName: TLabeledEdit;
    edtPassword: TLabeledEdit;
    edtAge: TLabeledEdit;
    Label1: TLabel;
    DateTimePicker1: TDateTimePicker;
    edtShoworder: TLabeledEdit;
    Button6: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure edtUserNameChange(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
  private
    { Private declarations }
    FController: TDataController;
    FOperator: TDataOperator;
    procedure ShowUserInfo(Auser: TUser);
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation


{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  fNewUser: TUser;
begin
  fNewUser := TUser.CreateNew(Self);
  fNewUser.UserName := edtUserName.Text;
  fNewUser.UserPwd := edtPassword.Text;
  fNewUser.Age := StrToInt(edtAge.Text);
  fNewUser.WorkDate := DateTimePicker1.Date;
  fNewUser.ShowOrder := StrToInt(edtShowOrder.Text);
  try
    if FOperator.Save(fNewUser) then
      Memo1.Lines.Add('Created a new user');
  except
  	on e: Exception do
    begin
      Memo1.Lines.Add(E.Message);
    end;
  end;  // try/except
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  FController := TDataController.Create(Self, 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=TestDb.mdb;Persist Security Info=False');
  FOperator := TDataOperator.Create(Self);
  FOperator.DataController := FController;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  FOperator.Free;
  FController.Free;
end;

procedure TForm1.edtUserNameChange(Sender: TObject);
begin
  Button6.Enabled := edtUserName.Text <> EmptyStr;
end;

procedure TForm1.Button6Click(Sender: TObject);
var
  fObj: Tuser;
begin
  fObj := FOperator.Load(Tuser, edtUserName.Text) as TUser;
  if fObj = nil then
    Memo1.Lines.Add('Not found user ' + edtUserName.Text)
  else
  begin
    ShowUserInfo(fObj);
  end;
end;

procedure TForm1.ShowUserInfo(Auser: TUser);
begin
  Memo1.Lines.Add('-----------------------------');
  Memo1.Lines.Add('UserName=' + AUser.UserName);
  Memo1.Lines.Add('Password=' + Auser.UserPwd);
  Memo1.Lines.Add('Age=' + IntToStr(Auser.Age));
  Memo1.Lines.Add('WorkDate=' + DateToStr(Auser.WorkDate));
  Memo1.Lines.Add('-----------------------------' + sLineBreak);
end;

procedure TForm1.Button3Click(Sender: TObject);
var
  fObj: Tuser;
begin
  fObj := FOperator.Load(Tuser, edtUserName.Text) as TUser;
  if fObj <> nil then
  begin
    fObj.DeleteFlag := True;
    try
      FOperator.Save(fObj);
      Memo1.Lines.Add('Delete user successful!');
    except
    	on e: Exception do
       Memo1.Lines.Add(E.Message);
    end;  // try/except
  end;
end;

procedure TForm1.Button4Click(Sender: TObject);
var
  I: Integer;
  fList: TTableDataList;
begin
  fList := TTableDataList.Create(Self, TUser);
  FOperator.LoadAllItems(fList);
  Memo1.Lines.Add('Load Count=' + IntToStr(fList.Count));
  for I := 0 to fList.Count - 1 do    // Iterate
  begin
    ShowUserInfo(fList[I] as Tuser);
  end;    // for
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -