ª±½ (±èÁø±¹)
|
|
ÇØ°áÇÏ¿´½À´Ï´Ù~
if not Assigned(smc) then smc := TServerMethodsClient.Create(DBXConnection,False);
µÎ¹ø° ÆĶó¹ÌÅÍ·Î FInstanceOwner ¸¦ ÁöÁ¤ÇÒ ¼ö Àֳ׿ä
function TServerMethodsClient.smfunc_GetDataObject(TableName: string; EqualFieldNames: string; EqualFieldValues: OleVariant; UnEqualFieldNames: string; UnEqualFieldValues: OleVariant): TObject;
begin
if Fsmfunc_GetDataObjectCommand = nil then
begin
Fsmfunc_GetDataObjectCommand := FDBXConnection.CreateCommand;
Fsmfunc_GetDataObjectCommand.CommandType := TDBXCommandTypes.DSServerMethod;
Fsmfunc_GetDataObjectCommand.Text := 'TServerMethods.smfunc_GetDataObject';
Fsmfunc_GetDataObjectCommand.Prepare;
end;
Fsmfunc_GetDataObjectCommand.Parameters[0].Value.SetWideString(TableName);
Fsmfunc_GetDataObjectCommand.Parameters[1].Value.SetWideString(EqualFieldNames);
Fsmfunc_GetDataObjectCommand.Parameters[2].Value.AsVariant := EqualFieldValues;
Fsmfunc_GetDataObjectCommand.Parameters[3].Value.SetWideString(UnEqualFieldNames);
Fsmfunc_GetDataObjectCommand.Parameters[4].Value.AsVariant := UnEqualFieldValues;
Fsmfunc_GetDataObjectCommand.ExecuteUpdate;
if not Fsmfunc_GetDataObjectCommand.Parameters[5].Value.IsNull then
begin
FUnMarshal := TDBXClientCommand(Fsmfunc_GetDataObjectCommand.Parameters[5].ConnectionHandler).GetJSONUnMarshaler;
try
Result := TObject(FUnMarshal.UnMarshal(Fsmfunc_GetDataObjectCommand.Parameters[5].Value.GetJSONValue(True)));
if FInstanceOwner then<--- ¿©±â°¡ ¹®Á¦¿´´ø°ÅÀÓ ^^
Fsmfunc_GetDataObjectCommand.FreeOnExecute(Result);
finally
FreeAndNil(FUnMarshal)
end
end
else
Result := nil;
end; 2018-04-19 ¿ÀÈÄ 3:56:25
|
|