有关图保存后查询出错的问题,请高手指点!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;

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

...全文
39 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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)+''' 你必须确认你这条查询返回的是一张图片
回复
相关推荐
发帖
Delphi
创建于2007-08-02

4895

社区成员

Delphi 开发及应用
申请成为版主
帖子事件
创建了帖子
2007-09-14 08:45
社区公告
暂无公告