passing TByteArray via TMSStoredProc

Discussion of open issues, suggestions and bugs regarding SDAC (SQL Server Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
krhdevart
Posts: 12
Joined: Sat 09 Apr 2022 02:36

passing TByteArray via TMSStoredProc

Post by krhdevart » Sat 09 Apr 2022 02:44

In vb.net I'd pass a byte array to MS SQL using the SQL param type varbinary using the .net native sql server objects. How do I pass a TByeArray to SQL Server using TMSStoredProc? I've tried AsBlob, AsBytes, AsObject. Nothing else in the list seems logical to me.

Thanks,

Keith

paweld
Posts: 19
Joined: Mon 29 Sep 2014 08:56

Re: passing TByteArray via TMSStoredProc

Post by paweld » Sat 09 Apr 2022 09:08

Code: Select all

procedure TForm1.Button2Click(Sender: TObject);
var
  barr: array of byte;
  i: Integer;
begin
  SetLength(barr, 20);
  for i := 0 to 19 do
    barr[i] := 65 + i;
  MSStoredProc1.StoredProcName := 'test_proc';
  MSStoredProc1.ParamByName('param1').AsString := 'param1';
  MSStoredProc1.ParamByName('param2').SetBlobData(@barr[0], Length(barr));
  MSStoredProc1.ParamByName('param3').AsString := 'param3';
  MSStoredProc1.ParamByName('param4').AsInteger := 0;
  MSStoredProc1.ExecProc;
end;       

krhdevart
Posts: 12
Joined: Sat 09 Apr 2022 02:36

Re: passing TByteArray via TMSStoredProc

Post by krhdevart » Sat 09 Apr 2022 16:08

Thank you!

Post Reply