有关图保存后查询出错的问题,请高手指点!TKS!

sunriseknits 2007-09-14 08:45:43
procedure TFrGmInfoInput.btnfindClick(Sender: TObject);
var
szname: string;
stream: TMemoryStream;
i: Integer;
jpeg: TJPEGImage;
begin
with qryimagefind do
begin
Close;
SQL.Clear;
SQL.Text := 'select logo from test ' +
' where type=''' + trim(edttype.Text) + '''';
Open;
end;
if not qryimagefind.IsEmpty then
begin
try
stream := TMemoryStream.Create;
TBlobField(qryimagefind.FieldByName('logo')).SaveToStream(stream);
stream.Position := 0;
jpeg := TJPEGImage.Create;
jpeg.LoadFromStream(stream);
Image2.Picture.Assign(jpeg);
finally
jpeg.Free;
stream.Free;
end;
end;
end;

以上是查询的代码,之前运行没有错误,现在提示"JPEG error #42",有点不懂.
但是如果按字段"type"更改某张图片后,又能查询,但重新打开界面输入字段内容查找却又提示如上的错误.
更新代码:

procedure TFrGmInfoInput.btnupdateClick(Sender: TObject);
var
stream: TMemoryStream;
jpeg: TJPEGImage;
begin
try
with tblimage2 do
begin
CommandText := 'update test set logo=:logo where type=''' + trim(edttype.Text) +
'''';

end;
stream := TMemoryStream.Create;
jpeg := TJPEGImage.Create;
jpeg.Assign(Image1.Picture.Graphic);
jpeg.SaveToStream(stream);
stream.Position := 0;
tblimage2.Parameters.ParamByName('logo').LoadFromStream(stream, ftBlob);
tblimage2.Execute;
ShowMessage('OK!');
finally
stream.Free;
jpeg.Free;
end;

end;

请高手们指点!万分感谢!

...全文
68 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuweiyc 2007-09-17
  • 打赏
  • 举报
回复
密切关注
我这种方法只能打开jpg格式的图片,向找个都行
procedure TForm1.BitBtn3Click(Sender: TObject);
var
jpeg:TJpegImage;
begin
jpeg:=Tjpegimage.Create;
adoquery1.Close;
adoquery1.SQL.Text:='select id,tupian from table2 where id=''1'' ';
adoquery1.Open;
Tblobfield(adoquery1.FieldByName('tupian')).SaveToFile('c:\com.jpg');
jpeg.LoadFromFile('c:\com.jpg');
image1.Picture.Assign(jpeg);
jpeg.Free;
end;
hongqi162 2007-09-14
  • 打赏
  • 举报
回复
仔细检查你的代码吧,可能是那里疏忽了
sunriseknits 2007-09-14
  • 打赏
  • 举报
回复
的确是保存的问题,因为在更新后又能查询出图片。
但是查看保存值并无异样,也并非空值。
保存代码也无报错,
请高手继续指点一二。
sunriseknits 2007-09-14
  • 打赏
  • 举报
回复
你来了这问题肯定可以解决。^-^
但是在执下面的代码后又能查询出更新后的图片?
应该说明返回的图片没有错,请继续关注......
hongqi162 2007-09-14
  • 打赏
  • 举报
回复
图片保存到数据库的时候出现错误了,
select logo from test where type='''+trim(edttype.Text)+''' 你必须确认你这条查询返回的是一张图片

5,928

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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