把jpg图片当成文件以二进制形式存入.
解决方案 »
- 各位同仁们,在Delphi中,当用户通过DBGrid向数据库输入不合法的数据时,会出现异常,程序停止运行,此时该如何避免?
- 业务日期与查询条件时间段比较
- 赚分,让我沉吧~~~
- 请问已知一16进制字符串,写进二进制文件后如何得到与UE读的一样?
- dbgrid控件如何能在左边显示行号?
- 寻找熟悉ms sql, delphi的大大帮助
- 8410分求解:如何在发送正文为HTML格式的邮件(同时带附件)!!!
- 谁有AutoOutLookBar and TAutoPropertiesStore这两个控件?
- 谁有好看点的 TreeView 控件?
- 网络版数据库程序如何共享报表文件??烦!!烦!!
- 向各位高手求救:如何将一文本文件倒入到数据库中?谢谢
- 哪位大侠知道DBChart的预揽、打印命令?
procedure TForm1.ImageIntoDBBitBtnClick(Sender: TObject);
begin
try
with Query1 do
begin
close;
sql.clear;
sql.add('insert into img (imga) values(:imag)');
end;
try
if FileName<>'' then
ParamByName('Img').LoadfromFile(FileName,ftGraphic)
else
ParamByName('Img') .asBlob:='';
Query1.ExecSQL;
except
ShowMessage('图片保存出错!');
exit;
end;
except
end;
end;//读取
procedure TForm1.ImageFromDBBitBtnClick(Sender: TObject);
var
m_jpegstream:tmemorystream;
begin
with Query1 do
begin
close;
sql.clear;
sql.Add('select imga from img');
try
Open;
except
exit;
end;
end;
if (Query1.FieldByName('imga') as tblobfield).asstring='' then
begin
exit;
end
else
begin
try
try
m_jpegStream:=TMemoryStream.Create;
(Query1.fieldbyname('imga') as TBlobField).SaveToStream(m_JpegStream);
m_JpegStream.Position:=0;
try
image2.Picture.Graphic:=nil;
image2.Picture.Graphic:=TJpegImage.Create;
image2.Picture.Graphic.LoadFromStream(m_JpegStream); //读Jpeg
except
Image2.Picture.Bitmap.LoadFromStream(m_JpegStream); //读Bmp
end;
except
end;
finally
m_JpegStream.Free;
Query1.Close;
Query1.UnPrepare;
end;
end;
end;//BMP转换为JPG
procedure TStuXXSLForm.LoadImageBitBtnClick(Sender: TObject);
var
MyJpeg:TJpegImage;
begin
inherited;
if OpenPictureDialog1.Execute then
begin
FileName:=OpenPictureDialog1.FileName;
Image1.Picture.LoadFromFile(FileName);
if ExtractFileExt(FileName)='.Bmp' then
begin
MyJpeg:= TJpegImage.Create;
MyJpeg.Assign(Image1.Picture.Bitmap);
FileName:='Photo.Jpg';
MyJpeg.SaveToFile(FileName);
MyJpeg.Free;
end;
end;
end;