![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Как прочитать Blob- Параметр процедуры?
Код:
LFDSP := TFDStoredProc.Create(nil);
try
with LFDSP do
begin
Connection := Conn;
FetchOptions.Items := LFDSP.FetchOptions.Items - [fiMeta];
StoredProcName := 'SP';
end;
with LFDSP.Params.Add do
begin
Name := 'xxx';
ParamType := ptInput;
DataType := ftString;
Size := 50;
end;
with LFDSP.Params.Add do
begin
Name := 'aFile';
ParamType := ptOutput;
DataType := ftBlob;
end;
with LFDSP.Params.Add do
begin
Name := 'MSG';
ParamType := ptOutput;
DataType := ftString;
Size := 50;
end;
LFDSP.Params.ParamByName('xxx').Value := 'aaa';
LFDSP.Prepare;
LFDSP.ExecProc;
key.Lines.Add(LFDSP.Params.ParamByName('MSG').AsString);
M:=LFDSP.params.ParamByName('aFile').Save???
key.Lines.Add(IntToStr(m.Size));
finally
m.Free;
LFDSP.Free;
end;Код:
M := Query.CreateBlobStream(Query.FieldByName('aFile'), bmread); |
|
#2
|
||||
|
||||
|
Вроде как у TParam есть AsBlob. Но я никогда не пользовался или уже забыл о том что пользовался.
|
| Этот пользователь сказал Спасибо Aristarh Dark за это полезное сообщение: | ||
nixon232 (09.07.2018)
| ||
|
#3
|
|||
|
|||
|
Blob то есть, а что с ним делать? Так корректно?
Код:
function BlobToStream(const ABlob: RawByteString): TStream; begin Result := TMemoryStream.Create; Result.Write(PAnsiChar(ABlob)^, Length(ABlob)); Result.Position := 0; end; Код:
M := TStream.Create;
M:= BlobToStream(LFDSP.Params.ParamByName('aFile').AsBlob); |