二进制数据写入数据库的问题,用存储过程
stream,Stream2:TFileStream;
Buffer: pointer;
size:integer;
数据已经读出到 buffer中,
Stream := TFileStream.Create(OpenDialog1.FileName, fmOpenRead);
size:=stream.Size;
getmem(buffer,size);
stream.Position := 0;
stream.ReadBuffer(Buffer^,Size);
现在问题是如何将buffer中的数据赋给存储过程的参数@imgData
with self.ADOStoredProc1 do
begin
Parameters.ParamByName('@PhotoID').Value:=1000;
Parameters.ParamByName('@imgData').Value:=Buffer;//错误:variant与pointer的类型不同
ExecProc;
end;