Page 1 of 1

passing TByteArray via TMSStoredProc

Posted: Sat 09 Apr 2022 02:44
by krhdevart
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

Re: passing TByteArray via TMSStoredProc

Posted: Sat 09 Apr 2022 09:08
by paweld

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;       

Re: passing TByteArray via TMSStoredProc

Posted: Sat 09 Apr 2022 16:08
by krhdevart
Thank you!