2 Star 6 Fork 5

吕不为 / dbhelper

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
USQLOperator.pas 5.13 KB
一键复制 编辑 原始数据 按行查看 历史
吕不为 提交于 2017-08-30 09:00 . init
unit USQLOperator;
{* <PRE>
================================================================================
* 单元名称:USQLOperator
* 版本编号:1.00
* 功能描述:操作界面的各种功能
* 单元作者:LHQ
* 创建日期:2005-04-07
* 修改人员:
* 修改日期:
* 修改原因:
================================================================================
|</PRE>}
interface
uses SysUtils, windows, Classes, DB, ADODB, uLkJSON;
type
TBaseTableItemClass = class of TBaseTableItem;
TBaseTableItem = class(TCollectionItem)
private
FJson: TlkJSONobject;
FTableName: string;
FTableCode: string;
FSelected: Boolean;
FTableDesc: string;
procedure SetSelected(const Value: Boolean);
procedure SetTableCode(const Value: string);
procedure SetTableDesc(const Value: string);
procedure SetTableName(const Value: string);
published
{*基本表的对象}
{*当前表的JSON字典}
property JSon: TlkJSONobject read FJSon write FJSon;
{*表的名称}
property TableName: string read FTableName write SetTableName;
property TableCode: string read FTableCode write SetTableCode;
{表的物理名称}
property TableDesc: string read FTableDesc write SetTableDesc;
{表的描述}
property Selected: Boolean read FSelected write SetSelected;
{*本表是否被选择 }
procedure Clear;
procedure Assign(Source: TPersistent); override;
constructor Create(Collection: TCollection); override;
end;
TBaseTable = class(TCollection)
private
FItemIndex: Integer;
function GetItems(Index: Integer): TBaseTableItem;
procedure SetItems(Index: Integer; const Value: TBaseTableItem);
public
constructor Create(ItemClass: TBaseTableItemClass);
destructor Destroy; override;
procedure Assign(Source: TPersistent); override;
property Items[Index: Integer]: TBaseTableItem read GetItems write SetItems;
published
property Count;
function Add: TBaseTableItem;
property ItemIndex: Integer read FItemIndex write FItemIndex;
end;
TBaseField = class(TBaseTable)
end;
const
FieldTypeStr: array[TFieldType] of string = ('ftUnknown', 'ftString', 'ftSmallint',
'ftInteger', 'ftWord', 'ftBoolean', 'ftFloat', 'ftCurrency', 'ftBCD', 'ftDate', 'ftTime',
'ftDateTime', 'ftBytes', 'ftVarBytes', 'ftAutoInc', 'ftBlob', 'ftMemo', 'ftGraphic',
'ftFmtMemo', 'ftParadoxOle', 'ftDBaseOle', 'ftTypedBinary', 'ftCursor', 'ftFixedChar',
'ftWideString', 'ftLargeint', 'ftADT', 'ftArray', 'ftReference', 'ftDataSet', 'ftOraBlob',
'ftOraClob', 'ftVariant', 'ftInterface', 'ftIDispatch', 'ftGuid', 'ftTimeStamp',
'ftFMTBcd');
function List2Str(List: TStrings; DelStr: string = ','): string; //从一个列表转换为一个字符串,默认的分隔符是逗号,
function StrInList(Str: string; List: TStrings): Boolean; //一个字符串是一个字符串列表中的一项
implementation
{ TBaseTable }
function StrInList(Str: string; List: TStrings): Boolean; //一个字符串是一个字符串列表中的一项
var
i: integer;
begin
Result := False;
for i := 0 to List.Count - 1 do
begin
if List.Strings[i] = Str then
begin
Result := true;
Exit;
end;
end;
end;
function List2Str(List: TStrings; DelStr: string = ','): string;
var
i: Integer;
begin
Result := '';
if List = nil then
Exit;
for i := 0 to List.Count - 1 do
Result := Result + List.Strings[i] + DelStr;
Delete(Result, Length(Result) - Length(DelStr) + 1, Length(DelStr));
end;
procedure TBaseTableItem.Clear;
begin
TableCode := '';
TableName := '';
end;
procedure TBaseTableItem.Assign(Source: TPersistent);
begin
TableName := TBaseTableItem(Source).TableName;
TableCode := TBaseTableItem(Source).TableCode;
end;
function TBaseTable.Add: TBaseTableItem;
begin
result := TBaseTableItem(inherited Add);
end;
procedure TBaseTable.Assign(Source: TPersistent);
var i: Integer;
begin
Clear;
for i := 0 to TBaseTable(Source).Count - 1 do
begin
with Add do
begin
TableName := TBaseTable(Source).Items[i].TableName;
TableCode := TBaseTable(Source).Items[i].TableCode;
end;
end;
end;
constructor TBaseTable.Create(ItemClass: TBaseTableItemClass);
begin
inherited Create(ItemClass);
end;
destructor TBaseTable.Destroy;
var
i: integer;
begin
for i := Count - 1 downto 0 do
begin
TBaseTableItem(Items[i]).Free;
end;
inherited;
end;
function TBaseTable.GetItems(Index: Integer): TBaseTableItem;
begin
result := TBaseTableItem(inherited items[Index]);
end;
procedure TBaseTable.SetItems(Index: Integer;
const Value: TBaseTableItem);
begin
inherited Items[Index] := Value;
end;
constructor TBaseTableItem.Create(Collection: TCollection);
begin
inherited Create(Collection);
end;
procedure TBaseTableItem.SetSelected(const Value: Boolean);
begin
FSelected := Value;
end;
procedure TBaseTableItem.SetTableCode(const Value: string);
begin
FTableCode := Value;
end;
procedure TBaseTableItem.SetTableDesc(const Value: string);
begin
FTableDesc := Value;
end;
procedure TBaseTableItem.SetTableName(const Value: string);
begin
FTableName := Value;
end;
end.
Delphi
1
https://gitee.com/lvhongqing/dbhelper.git
git@gitee.com:lvhongqing/dbhelper.git
lvhongqing
dbhelper
dbhelper
master

搜索帮助