delphi基于adoquery的Dao小控件,能省点键盘

unit adoqueryDao;

interface

uses
  SysUtils, Classes, DB, ADODB;

type
  TadoqueryDao = class(TADOQuery)
  private
    FDaoStr:TStrings;
    procedure SetDaoStr(const Value: TStrings);
    { Private declarations }
  protected
    { Protected declarations }
    procedure DoAfterOpen;override;
  public
    { Public declarations }
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
  published
    { Published declarations }
    property DaoStr:TStrings  read FDaoStr write SetDaoStr;
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('ADO', [TadoqueryDao]);
end;

{ TadoqueryDao }

constructor TadoqueryDao.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  FDaoStr:=TStringList.Create;

end;

destructor TadoqueryDao.Destroy;
begin
  FreeAndNil(FDaoStr);
  inherited Destroy;
end;

procedure TadoqueryDao.DoAfterOpen;
var i:Integer;
begin
  inherited;
  FDaoStr.Append('T'+ Self.Name + ' = class');
  FDaoStr.Append('private');
  for i:=0 to Self.FieldCount - 1 do
  begin
    FDaoStr.Append('    _'+Self.FieldDefs.Items[i].Name+':String;');
  end;
  FDaoStr.Append('public');
  for i:=0 to Self.FieldCount - 1 do
  begin
    FDaoStr.Append('    property '+Self.FieldDefs.Items[i].Name+':String read _'+Self.FieldDefs.Items[i].Name  +' write _'+Self.FieldDefs.Items[i].Name + ';');
  end;

  FDaoStr.Append('end;');
end;

procedure TadoqueryDao.SetDaoStr(const Value: TStrings);
begin
  FDaoStr.Assign(Value);
end;

end.
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值