📄 fcommclass.pas
字号:
unit FCommClass;
interface
uses
SysUtils,Windows,Messages, Classes, Graphics, Controls,
Forms, Dialogs,db,adodb,AccessDB;
type
ICommClass = interface(IInterface)
function AddClass(vParentCode,vCode,vName:String): Boolean;
function DeleteClass(vCode:String): Boolean;
end;
TCommClass = class(TInterfacedObject)
private
FCurClassName: string;
published
property CurClassName: string read FCurClassName write FCurClassName;
end;
TSQLCommClass = class(TCommClass, ICommClass)
private
aDB: IAccessDB;
FTableName: string;
public
constructor Create(vDB:IAccessDB); overload;
function AddClass(vParentCode,vCode,vName:String): Boolean;
function CheckParent(vCode:String): Boolean;
function DeleteClass(vCode:String): Boolean;
published
property TableName: string read FTableName write FTableName;
end;
implementation
{
******************************** TSQLCommClass *********************************
}
constructor TSQLCommClass.Create(vDB:IAccessDB);
begin
aDB:=vDB;
end;
function TSQLCommClass.AddClass(vParentCode,vCode,vName:String): Boolean;
begin
//保存新分类
aDB.ExecuteSQL('insert into '+FTableName+'(代码,父项代码,名称) values('''
+vCode+''','''+vParentCode+''','''+vName+''')');
Result:=True;
end;
function TSQLCommClass.CheckParent(vCode:String): Boolean;
begin
Result:=aDB.GetDataSet('select * from '+FTableName+' where 父项代码='''+vCode+'''').Eof;
end;
function TSQLCommClass.DeleteClass(vCode:String): Boolean;
begin
//删除新分类
if CheckParent(vCode) then
Result:=aDB.ExecuteSQL('delete '+FTableName+' where 代码='''+vCode+'''')=0
else
Result:=False;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -