unit MapTeamUsers; interface uses System.Classes, BaseDataProvider, InterfaceDataProvider, HashDBProvider; type TMapTeamUsersProvider = class(THashDBProvider) protected function GetTableName: string; override; public end; //type // TMapTeamUsersProvider = class(TBaseDataProvider, IAppIconProvider) // protected // function GetTableName: string; override; // function GetCreateTableSQL: string; override; // public // procedure Insert(ATeamID, AUID: WideString); stdcall; // procedure Delete(ATeamID, AUID: WideString); overload; stdcall; // procedure Delete(ATeamID: WideString); overload; stdcall; // procedure Find(ATeamID, AUID: WideString); overload; stdcall; // procedure Find(ATeamID: WideString); overload; stdcall; // end; implementation { TMapTeamUsersProvider } function TMapTeamUsersProvider.GetTableName: string; begin Result := 'MapTeamUser'; end; //uses // FireDAC.Comp.Client, BaseDataModule, System.SysUtils, System.VarUtils, System.Variants, // Data.DB, LoggerImport; // //const // TABLE_NAME: string = 'MapTeamUsers'; // CREATE_TABLE: string = 'CREATE TABLE MapTeamUsers('+ // 'TeamID string(50), ' + // 'UID string(50), ' + // 'Nickname string(50), ' + // 'MemberType integer, ' + // 'CreateTime Double)'; // INSERT_ONE_SQL: string = 'INSERT INTO MapTeamUsers(TeamID, UID, Nickname, MemberType, CreateTime) VALUES(:teamID, :uid, :nickname, :memberType, :createTime)'; // DELETE_ONE_SQL: string = 'DELETE FROM MapTeamUsers WHERE UID = :uid and TeamID = :teamID'; // DELETE_BY_TEAM_SQL: string = 'DELETE FROM MapTeamUsers WHERE UID = :uid and TeamID = :teamID'; // // //// public string TeamID { get; set; } //// public string UID { get; set; } //// public string Nickname { get; set; } //// public DateTime JoinDate { get; set; } //// public MemberType Type { get; set; } // //{ TAppIconProvider } // //procedure TMapTeamUsersProvider.FindIcon(AAppKey: WideString; var ABuffer); stdcall; //var // AQuery: TFDQuery; // ACode: string; //begin // if (AAppKey = '') then // Exit; // ACode := Format('TAppIconProvider.FindIcon(%s)', [AAppKey]); // // try // AQuery := BaseDataModel.GetQuery; // AQuery.Connection.Connected := True; // AQuery.Open(APPICON_FINDICON, [AAppKey]); // AQuery.First; // if not AQuery.Eof then // TBytes(ABuffer) := AQuery.FieldByName('Icon').AsBytes; // except // on E: Exception do // begin // Error(E.Message, ACode); // BaseDataModel.GiveBackQuery(AQuery); // end; // end; // BaseDataModel.GiveBackQuery(AQuery); //end; // //function TMapTeamUsersProvider.GetCreateTableSQL: string; //begin // Result := CREATE_TABLE; //end; // //function TMapTeamUsersProvider.GetTableName: string; //begin // Result := TABLE_NAME; //end; // //procedure TMapTeamUsersProvider.Insert(ATeamID, AUID: WideString); //var // AConnection: TFDCustomConnection; // ALen: Cardinal; //begin // ALen := Length(TBytes(ABuffer)); // if (AAppKey = '') or (ALen = 0) then // Exit; // AConnection := BaseDataModel.GetConnection; // try // AConnection.Connected := True; // AConnection.ExecSQL(APPICON_DELETE, [AAppKey]); // AConnection.ExecSQL(APPICON_INSERT, [AAppKey, TBytes(ABuffer), 0, Now]); // finally // BaseDataModel.GiveBackConnection(AConnection); // end; //end; end.