如何在Delphi中创建自定义类
请看以下的代码,相关信息我已经粘贴在上面了.在下面的一个单元中我已经在private中声明了Datamod,然而在运行时,程序提示Datamod未定义!(出错地方我已经表...
请看以下的代码,相关信息我已经粘贴在上面了.在下面的一个单元中我已经在private中声明了Datamod,然而在运行时,程序提示Datamod未定义!(出错地方我已经表示在下面的一个单元中)这是什么问题呀?我是个Delphi的新手,希望大家能提供一些帮助,谢谢!!
unit Person_datamod;
//数据库连接的单元
interface
uses
SysUtils, Classes, Provider, DB, ADODB;
type
TDatamodfrm = class(TDataModule)//数据库连接类
Person_adconn: TADOConnection;
Person_adoq1: TADOQuery;
Person_adoq2: TADOQuery;
Person_adoq3: TADOQuery;
Person_dsp1: TDataSetProvider;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Datamodfrm: TDatamodfrm;
implementation
{$R *.dfm}
end.
unit usertable_unit;
interface
uses
Windows,Messages,SysUtils,Variants,DBclient,Classes,Person_datamod;
type
//声明此类Tbasedata
Tusertable=class(TObject)
private
//声明该类引用的数据库连接类
Datamod:TDatamodfrm;
public
function GetUserPwd(UserName:string):string;
constructor create;
destructor Destroy;override;
end;
implementation
//在该类创建时实例化数据连接类
constructor Tusertable.create;
begin
Datamod:=TDatamodfrm.Create(nil);
end;
//定义方法的具体实现
function GetUserPwd(UserName:string):string;
begin
Datamod.Person_adoq1.Close;//问题所在!!!!!!!
Datamod.Person_adoq1.SQL.Clear;
Datamod.Person_adoq1.SQL.Add();
end;
//在该类用完后将数据连接类的实例释放掉
destructor Tusertable.Destroy;
begin
freeandnil(Datamod);
inherited;
end;
end. 展开
unit Person_datamod;
//数据库连接的单元
interface
uses
SysUtils, Classes, Provider, DB, ADODB;
type
TDatamodfrm = class(TDataModule)//数据库连接类
Person_adconn: TADOConnection;
Person_adoq1: TADOQuery;
Person_adoq2: TADOQuery;
Person_adoq3: TADOQuery;
Person_dsp1: TDataSetProvider;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Datamodfrm: TDatamodfrm;
implementation
{$R *.dfm}
end.
unit usertable_unit;
interface
uses
Windows,Messages,SysUtils,Variants,DBclient,Classes,Person_datamod;
type
//声明此类Tbasedata
Tusertable=class(TObject)
private
//声明该类引用的数据库连接类
Datamod:TDatamodfrm;
public
function GetUserPwd(UserName:string):string;
constructor create;
destructor Destroy;override;
end;
implementation
//在该类创建时实例化数据连接类
constructor Tusertable.create;
begin
Datamod:=TDatamodfrm.Create(nil);
end;
//定义方法的具体实现
function GetUserPwd(UserName:string):string;
begin
Datamod.Person_adoq1.Close;//问题所在!!!!!!!
Datamod.Person_adoq1.SQL.Clear;
Datamod.Person_adoq1.SQL.Add();
end;
//在该类用完后将数据连接类的实例释放掉
destructor Tusertable.Destroy;
begin
freeandnil(Datamod);
inherited;
end;
end. 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询