unit Item;
{我有个关于论文的类,
我想把里面的变量与数据库里面的字段关连起来,并能感知数据的改变!
最后还要进行插入,删除,修改等操作,
我第一次做面向对象,就遇到这个难题,
尽请各位大哥大姐执教.
最好有相关的代码,因为我确实头一次接触面向对象,不太懂!!
在此先谢过了.
}
interfaceuses
DB,DataConn,Classes,StdCtrls,DBCtrls,DBGrids;
Type
TItem=Class //论文管理的类,
private
// FDataLink: TFieldDataLink; //////////
FItemName: string; / /论文标题
FSRankID: Integer; //等级id
FStartTime: Integer;// 开始时间
FPartner: String; //合作者
function GetDataSource: TDataSource;
procedure SetDataSource(Value: TDataSource);
function GetItemName: String;
procedure SetItemName(const Value: string);
procedure DataChange(Sender: TObject);
public
constructor Create(AOwner: TComponent);
destructor Destroy;
published
property ItemName: string read GetItemName write SetItemName;
property DataSource: TDataSource read GetDataSource write SetDataSource;
end;implementationconstructor TItem.Create(AOwner: TComponent);
begin
///////
end;destructor TItem.Destroy;
begin
FDataLink.Free;
FDataLink := nil;
inherited Destroy;
end;procedure TItem.DataChange(Sender: TObject);
begin
if FDataLink.Field <> nil then
begin
FItemName :=FDataLink.Field.Text;
end
else
begin
FItemName := '';
end;
end;function TItem.GetDataSource: TDataSource;
begin
Result := FDataLink.DataSource;
end;procedure TItem.SetDataSource(Value: TDataSource);
begin
if not (FDataLink.DataSourceFixed and (csLoading in ComponentState)) then
FDataLink.DataSource := Value;
if Value <> nil then Value.FreeNotification(Self);
end;function TItem.GetItemName: String;
begin
Result := FItemName;
end;procedure TItem.SetItemName(const Value: string);
begin
FItemName:=Value;
end;end.
{我有个关于论文的类,
我想把里面的变量与数据库里面的字段关连起来,并能感知数据的改变!
最后还要进行插入,删除,修改等操作,
我第一次做面向对象,就遇到这个难题,
尽请各位大哥大姐执教.
最好有相关的代码,因为我确实头一次接触面向对象,不太懂!!
在此先谢过了.
}
interfaceuses
DB,DataConn,Classes,StdCtrls,DBCtrls,DBGrids;
Type
TItem=Class //论文管理的类,
private
// FDataLink: TFieldDataLink; //////////
FItemName: string; / /论文标题
FSRankID: Integer; //等级id
FStartTime: Integer;// 开始时间
FPartner: String; //合作者
function GetDataSource: TDataSource;
procedure SetDataSource(Value: TDataSource);
function GetItemName: String;
procedure SetItemName(const Value: string);
procedure DataChange(Sender: TObject);
public
constructor Create(AOwner: TComponent);
destructor Destroy;
published
property ItemName: string read GetItemName write SetItemName;
property DataSource: TDataSource read GetDataSource write SetDataSource;
end;implementationconstructor TItem.Create(AOwner: TComponent);
begin
///////
end;destructor TItem.Destroy;
begin
FDataLink.Free;
FDataLink := nil;
inherited Destroy;
end;procedure TItem.DataChange(Sender: TObject);
begin
if FDataLink.Field <> nil then
begin
FItemName :=FDataLink.Field.Text;
end
else
begin
FItemName := '';
end;
end;function TItem.GetDataSource: TDataSource;
begin
Result := FDataLink.DataSource;
end;procedure TItem.SetDataSource(Value: TDataSource);
begin
if not (FDataLink.DataSourceFixed and (csLoading in ComponentState)) then
FDataLink.DataSource := Value;
if Value <> nil then Value.FreeNotification(Self);
end;function TItem.GetItemName: String;
begin
Result := FItemName;
end;procedure TItem.SetItemName(const Value: string);
begin
FItemName:=Value;
end;end.
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货