你下一个1stclass控件, 里面的dbimage可以存储.jpg文件
解决方案 »
- 断点进不去了
- bigint类型的变量 ,在delphi中用inttohex函数出错 ,怎么解决?
- Delphi中使用adoQuery+DataSource+DBChart无法生成图表的问题
- 问几个API函数
- 有空的高手近来看看这样一道算法题?谢谢
- 请推荐一个分析代码片断执行时间的工具
- 請各位大俠幫我回答幾個問題哦(送100分啊)
- 一数与MEMO1中一列数对比.当两数相等,在MEMO2中写入"相等";当两数不相等,在MEMO2中写入"不相等";到底怎么写,我怎么会写出一列不相等,只要
- :如何通过截取消息判断键盘的不同按键,在线等待,立刻给分。
- 不知道大家都有WindowsXP了吗?
- 请问哪儿能下载到有关delphi在开发电子商务方面的书籍?
- 让一个窗体失去焦点怎么作?????
1stclass控件,在那里下载?
[email protected]谢谢了
//保存
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
m_JpegStream.Position:=0;
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;
Query1.insert;
DBImage2.Picture.LoadFromFile('c:\blank.jpg');
DBImage2.CutToClipboard;
DBImage2.PasteFromClipboard;
Query1.applyupdate;
Query1.commitupdate;读:
用DBImage绑定就可以了。