Changeset 19 for trunk/USystem.pas


Ignore:
Timestamp:
Jun 14, 2011, 12:20:15 PM (13 years ago)
Author:
george
Message:
  • Added: Import existed database structure form.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/USystem.pas

    r17 r19  
    2626  TypeNumber = 'TypeNumber';
    2727  TypeString = 'TypeString';
     28  TypeFloat = 'TypeFloat';
    2829
    2930type
     
    9899    Database: TSQLDatabase;
    99100    function AddType(Name, DataType: string; TypeIndex: TDbValueType): Integer;
     101    function AddGroup(Name: string; ParentGroupId: Integer = 0): Integer;
    100102    function AddObject(Name, TableName, Schema: string; GroupId: Integer): Integer;
    101     function AddProperty(ObjectId: Integer; Name, ColumnName: string; DataType: Integer): Integer;
     103    function AddProperty(ObjectId: Integer; Name, ColumnName: string; CustomType: Integer): Integer;
    102104    function AddPropertyNumber(ObjectId: Integer; Name,
     105      ColumnName: string; Default: Integer = 0; Min: Integer = 0;
     106      Max: Integer = High(Integer)): Integer;
     107    function AddPropertyFloat(ObjectId: Integer; Name,
    103108      ColumnName: string; Default: Integer = 0; Min: Integer = 0;
    104109      Max: Integer = High(Integer)): Integer;
     
    240245end;
    241246
     247function TChronisBase.AddGroup(Name: string; ParentGroupId: Integer): Integer;
     248var
     249  DbRows: TDbRows;
     250  Data: TDictionaryStringString;
     251begin
     252  try
     253    DbRows := TDbRows.Create;
     254    Data := TDictionaryStringString.Create;
     255    Data.Add('Name', Name);
     256    Data.Add('Parent', IntToStr(ParentGroupId));
     257    Database.Insert(ObjectGroupTable, Data);
     258    Result := Database.LastInsertId;
     259  finally
     260    Data.Free;
     261    DbRows.Free;
     262  end;
     263end;
     264
    242265function TChronisBase.AddObject(Name, TableName, Schema: string;
    243266  GroupId: Integer): Integer;
     
    262285
    263286function TChronisBase.AddProperty(ObjectId: Integer; Name, ColumnName: string;
    264   DataType: Integer): Integer;
     287  CustomType: Integer): Integer;
    265288var
    266289  DbRows: TDbRows;
     
    273296    Data.Add('Object', IntToStr(ObjectId));
    274297    Data.Add('ColumnName', ColumnName);
    275     Data.Add('CustomType', IntToStr(DataType));
     298    Data.Add('CustomType', IntToStr(CustomType));
    276299    Data.Add('Editable', '1');
    277300    Database.Insert(PropertyTable, Data);
     
    306329    Data.Add('Default', IntToStr(Default));
    307330    Database.Insert(TypeNumber, Data);
     331    //CustomTypeId := Database.LastInsertId;
     332
     333    Result := AddProperty(ObjectId, Name, ColumnName, CustomTypeId);
     334  finally
     335    Data.Free;
     336    DbRows.Free;
     337  end;
     338end;
     339
     340function TChronisBase.AddPropertyFloat(ObjectId: Integer; Name,
     341  ColumnName: string; Default: Integer; Min: Integer; Max: Integer): Integer;
     342var
     343  DbRows: TDbRows;
     344  Data: TDictionaryStringString;
     345  CustomTypeId: Integer;
     346begin
     347  try
     348    DbRows := TDbRows.Create;
     349    Data := TDictionaryStringString.Create;
     350
     351    Data.Clear;
     352    Data.Add('Type', IntToStr(Integer(vtFloat)));
     353    Database.Insert(CustomTypeTableName, Data);
     354    CustomTypeId := Database.LastInsertId;
     355
     356    Data.Clear;
     357    Data.Add('CustomType', IntToStr(CustomTypeId));
     358    Data.Add('Min', IntToStr(Min));
     359    Data.Add('Max', IntToStr(Max));
     360    Data.Add('Default', IntToStr(Default));
     361    Database.Insert(TypeFloat, Data);
    308362    //CustomTypeId := Database.LastInsertId;
    309363
Note: See TracChangeset for help on using the changeset viewer.