📄 untttype.pas
字号:
{*******************************************************}
{ }
{ 单元名称: UntTType }
{ 创建日期: 2005-08-17 }
{ 摘要说明: 数据表Type操作实体类 }
{ }
{ 详细说明: }
{ }
{ 参 阅: }
{ }
{ 已知问题: }
{ }
{ 待作事项: }
{ }
{ 作 者: 胡孟杰 }
{ Copyright (C) 2005 FdAuto }
{ 当前版本: 1.0 }
{ 版本历史: }
{ }
{*******************************************************}
{$DEFINE TType}
unit UntTType;
{==========================================================================
单元接口部分
==========================================================================}
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ADODB, Variants;
{==========================================================================
类 名: Tconfig
功 能: 类Tconfig的定义,是类TFunc的基类
参 数: 无
返回值: 无
作 者: 胡孟杰
日 期: 2005.08.17
==========================================================================}
type
Tconfig = class(TObject)
public
AdoQuery: TAdoQuery;
constructor Create(Adoconnection: TAdoconnection);
destructor Destroy; override;
end;
{==========================================================================
类 名: TType
功 能: 类TType的定义,继承自类Tconfig
参 数: 无
返回值: 无
作 者: 胡孟杰
日 期: 2005.08.17
==========================================================================}
{$IFDEF TType}
TType = class(Tconfig)
private
public
PType: string; // 类别名称
function FindRecorder(GiveValueToVariant: boolean): boolean; //查找某一条记录,用主键值做条件
function InsertIntoTable: boolean; //向表中插入一条记录
function UpdateTable(OldType: string): boolean; //更新一条记录,用主键值做条件
function DeleteTable(PromptDlg: boolean): boolean; //删除一条记录,用主键值做条件
end;
{$ENDIF}
{==========================================================================
单元实现部分
==========================================================================}
implementation
{ Tconfig }
{==========================================================================
函数名: Tconfig.create
功 能: 类Tconfig的构造函数
参 数: ADOConnection:数据库连接对象
返回值: 无
作 者: 胡孟杰
日 期: 2005.08.17
==========================================================================}
constructor Tconfig.create(ADOConnection: TADOConnection);
begin
ADOQuery := TADOQuery.Create(nil);
ADOQuery.Connection := ADOConnection;
end;
{==========================================================================
函数名: Tconfig.Destroy
功 能: 类Tconfig的析构函数
参 数: 无
返回值: 无
作 者: 胡孟杰
日 期: 2005.08.17
==========================================================================}
destructor Tconfig.Destroy;
begin
ADOQuery.Close;
ADOQuery.Free;
ADOQuery := nil;
inherited;
end;
{$IFDEF TType}
{==========================================================================
函数名: TType.InsertIntoTable
功 能: 在表Type中插入一条记录,返回执行成功与否
参 数: 各属性先行赋值
返回值: True,false
作 者: 胡孟杰
日 期: 2005.08.17
==========================================================================}
function TType.InsertIntoTable: boolean;
begin
result := false;
with ADOQuery do
begin
Close;
Sql.text :=
'Insert into Type (' +
'Type) values (' +
':P_Type) ';
Parameters.ParamByName('P_Type').Value := Copy(PType, 1, 150); // 类别名称
try
EXECSql;
result := True;
except
Application.MessageBox('插入存储失败!', '系统提示', MB_ICONWARNING);
end;
end;
end;
{==========================================================================
函数名: TType.UpdateTable
功 能: 依据主键在表Type中更新一条记录,返回执行成功与否
参 数: 各属性先行赋值
返回值: True,false
作 者: 胡孟杰
日 期: 2005.08.17
==========================================================================}
function TType.UpdateTable(OldType: string): boolean;
begin
result := false;
with ADOQuery do
begin
Close;
Sql.text := ' Update Type set ' +
'Type=:P_Type' +
' Where (Type=:Old_Type)';
Parameters.ParamByName('P_Type').Value := Copy(PType, 1, 150); // 类别名称
Parameters.ParamByName('Old_Type').Value := Copy(OldType, 1, 150); // 类别名称
try
EXECSql;
result := true;
except
Application.MessageBox('更新存储失败!', '系统提示', MB_ICONWARNING);
end;
end;
end;
{==========================================================================
函数名: TType.DeleteTable
功 能: 依据主键在表Type中删除一条记录,返回执行成功与否
参 数: 主键属性先行赋值,PromptDlg:是否弹出确认删除对话框
返回值: True,false
作 者: 胡孟杰
日 期: 2005.08.17
==========================================================================}
function TType.DeleteTable(PromptDlg: boolean): boolean;
begin
result := false;
with ADOQuery do
begin
Close;
Sql.text := ' Delete From Type Where Type=:P_Type';
Parameters.ParamByName('P_Type').Value := PType; // 类别名称
if PromptDlg then
begin
if Application.MessageBox('你将删除选定的记录,继续吗?', '系统提示',
MB_OKCANCEL + MB_ICONWARNING) = 1 then
begin
ExecSql;
result := true;
end;
end
else
begin
ExecSql;
result := true;
end;
end;
end;
{==========================================================================
函数名: TType.FindRecorder
功 能: 依据主键在表Type中查找一条记录,返回执行成功与否
参 数: 主键属性先行赋值,GiveValueToVariant:是否把检索结果赋值到各属性
返回值: True,false
作 者: 胡孟杰
日 期: 2005.08.17
==========================================================================}
function TType.FindRecorder(GiveValueToVariant: boolean): boolean;
begin
Result := false;
with ADOQuery do
begin
Close;
Sql.text := ' Select Type From Type Where Type=:P_Type';
Parameters.ParamByName('P_Type').Value := PType; // 类别名称
Open;
if RecordCount > 0 then
begin
Result := true;
if GiveValueToVariant then
begin
PType := Fieldbyname('Type').AsString; //类别名称
end;
end;
end;
end;
{$ENDIF}
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -