|
|
Регистрация | << Правила форума >> | 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); |