二进制数据写入数据库的问题,用存储过程

Leanderhe 2005-04-13 05:24:56
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;
...全文
63 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Leanderhe 2005-04-14
  • 打赏
  • 举报
回复
问题已经解决,thanks,喜欢写代码,不喜欢用delphi的控件!
僵哥 2005-04-13
  • 打赏
  • 举报
回复
>>Parameters.ParamByName('@imgData').Value:=Buffer;//错误:variant与pointer
能否直接使用
Parameters.ParamByName('@imgData').LoadFromFile(OpenDialog1.FileName,ftBytes{或者ftBlob})

2,498

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧