有關一個保存圖片問題(sqlserver),在線等待??(10分)

  • 主题发起人 主题发起人 jesse.zhou
  • 开始时间 开始时间
J

jesse.zhou

Unregistered / Unconfirmed
GUEST, unregistred user!
with query1 do
begin
close;
sql.clear;
sql.add(insert into picture(photo) values(:photo);
if image1.Picture.Bitmap.Empty=true then
parameters.ParamByName('photo').Assign(nil)
else
begin
try
ms:=Tmemorystream.Create;
Image1.Picture.Graphic.SaveToStream(ms);
ms.Position:=0;
parameters.ParamByName('photo').LoadFromStream(ms,ftgraphic);
finally
ms.Free;
end;
end;
如果沒有插入圖片,保存時揭示參數不能空,請幫我
 
给你个例子看看吧,里面用到了我的一个对象
显示数据库中的图像,可以同时兼容各种格式
http://new.playicq.com/dispdocnew.php?id=5051
 
那是因为你在的数据库在设计的时候让他不能为空,那没有东西存进去当然不行了啊,
在表设计里让他能为空就行了啊
 
在调用 LoadFromStream 方法之前添加这两行看看:
ParamByName('photo').ParamType := ptBlob;
ParamByName('photo').DataType := dtInput;
 
问题提的人很多,如果你的数据库设计的为不可以为空,当然在存储数据的时候不可以为空了。如果有空数据产生的话就需要修改数据库结构了。至于存储图像的方法请查阅以前的资料。
 
好像上面的方法解决不了保存時揭示參數不能空的问题。
你不写这句会怎么样?
if image1.Picture.Bitmap.Empty=true then
parameters.ParamByName('photo').Assign(nil)
 
后退
顶部