点Button1保存图
procedure TForm1.Button1Click(Sender: TObject);
var
liTempBitmap:TBitmap;
liTempJPEG:TJPEGImage;
lmsTempStream:TMemoryStream;
begin
SetCurrentDir(ExtractFileDir(Application.ExeName));
lmsTempStream := TMemoryStream.Create;
liTempBitmap:=TBitmap.Create;
liTempJPEG:=TJPEGImage.Create; liTempJPEG.Assign(liTempBitmap);
liTempJPEG.CompressionQuality := 75;
liTempJPEG.Compress;
liTempJPEG.SaveToFile(FlatEdit1.Text+'.jpg');
lmsTempStream.Clear;
liTempJPEG.SaveToStream(lmsTempStream);
if not ADOQuery1.Active then ADOQuery1.Active:=True;
ADOQuery1.Insert;
TBlobField(ADOQuery1.Fields.FindField('ReamerChart')).LoadFromStream(lmsTempStream);
ADOQuery1.FieldByName('ReamerNo').AsString:=FlatEdit1.Text;
ADOQuery1.Post; liTempBitmap.Free;
end;点BitBtn1显示图
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
if not ADOQuery1.Active then ADOQuery1.Active:=True;
TBlobField(ADOQuery1.FieldByName('ReamerChart')).SaveToFile(ExtractFilePath(Application.ExeName)+'aa.jpg');
Image1.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'aa.jpg');
end;
出错 大侠们帮我看看那里写的有错阿 'ReamerChart' 字段为image类型
procedure TForm1.Button1Click(Sender: TObject);
var
liTempBitmap:TBitmap;
liTempJPEG:TJPEGImage;
lmsTempStream:TMemoryStream;
begin
SetCurrentDir(ExtractFileDir(Application.ExeName));
lmsTempStream := TMemoryStream.Create;
liTempBitmap:=TBitmap.Create;
liTempJPEG:=TJPEGImage.Create; liTempJPEG.Assign(liTempBitmap);
liTempJPEG.CompressionQuality := 75;
liTempJPEG.Compress;
liTempJPEG.SaveToFile(FlatEdit1.Text+'.jpg');
lmsTempStream.Clear;
liTempJPEG.SaveToStream(lmsTempStream);
if not ADOQuery1.Active then ADOQuery1.Active:=True;
ADOQuery1.Insert;
TBlobField(ADOQuery1.Fields.FindField('ReamerChart')).LoadFromStream(lmsTempStream);
ADOQuery1.FieldByName('ReamerNo').AsString:=FlatEdit1.Text;
ADOQuery1.Post; liTempBitmap.Free;
end;点BitBtn1显示图
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
if not ADOQuery1.Active then ADOQuery1.Active:=True;
TBlobField(ADOQuery1.FieldByName('ReamerChart')).SaveToFile(ExtractFilePath(Application.ExeName)+'aa.jpg');
Image1.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'aa.jpg');
end;
出错 大侠们帮我看看那里写的有错阿 'ReamerChart' 字段为image类型
解决方案 »
- combobox 添加项问题
- 发布一款多sheet、支持xml、导出excel、能够用于AJAX技术的、免费的、高品质的Grid控件!
- 代码看不懂请求助!
- 求财务凭证控件
- 请教一个MSSQL7的SQL语句查询问题
- 大量查询时怎么避免界面死掉?
- .ifz是什么文件格式
- 打印问题(急!!!!)
- 自定义文本数据库如何在dbgrid构件中显示?
- 由一对ClientSocket和ServerSocket启动另一对ClientSocket和ServerSocket的问题
- 各位前辈,在生成的EXE 图标(icon)时,怎样更改设成自己想要的logo?
- 有重复数据时提前提示,我在数据sql内建立了组合索引,就是part_code,st_name 这两个字段不能同时相同,
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,jpeg,
ExtDlgs, Db, DBTables, StdCtrls, ExtCtrls, ADODB;type
TForm1 = class(TForm)
Button1: TButton;
OpenPictureDialog1: TOpenPictureDialog;
Button2: TButton;
Image1: TImage;
ADOQuery1: TADOQuery;
ADOQuery2: TADOQuery;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
filename:string;
procedure SetPicture(pos:string;TempQuery:TADOQuery); /////往数据库中插入图片
procedure GetPicture(pos:string;TempQuery:TADOQuery); ////得到图片
end;var
Form1: TForm1;implementation{$R *.DFM}{ TForm1 }procedure TForm1.GetPicture(pos:string;TempQuery: TADOQuery);
var
MS_JpegStream:TMemoryStream;
begin
try
MS_JpegStream:=TMemoryStream.Create;
with tempQuery do
begin
close;
sql.clear;
//修改这个语句
sql.Add('select picture from table where no=:pos');
Parameters.ParamByName('pos').value:=pos;
Open;
end;
if tempquery.FieldByName('image').isnull then
begin
image1.Picture.Graphic:=nil;
end
else
begin
(tempQuery.FieldByName('image') as tblobfield).savetostream(MS_JpegStream);
image1.Picture.Graphic:=nil;
image1.Picture.Graphic:=TJpegImage.Create;
MS_JpegStream.Position:=0;
image1.Picture.Graphic.LoadFromStream(MS_JpegStream);
end; finally
MS_JpegStream.Free;
end;end;procedure TForm1.SetPicture(pos:string; TempQuery: TADOQuery);
var
MS_JpegStream:TMemoryStream;
M_BitMap:TBitMap;
M_Jpeg:TJpegImage;
begin
try
MS_JpegStream:=TMemoryStream.Create;
M_BitMap:=TBitMap.Create;
M_Jpeg:=TJpegImage.Create;
if extractfileext(filename)='.bmp' then
begin
M_BitMap.LoadFromFile(filename);
M_Jpeg.Compress;
M_Jpeg.Assign(M_BitMap);
end
else if extractfileext(filename)='.jpg' then
begin
M_Jpeg.LoadFromFile(filename);
end;
M_Jpeg.SaveToStream(MS_JpegStream);
with tempQuery do
begin
close;
sql.clear;
//修改这个语句
sql.Add('insert into table (no,IMage) values (:pos,:image)');
Parameters.ParamByName('pos').Value:=pos;
Parameters.ParamByName('image').LoadFromStream(MS_JpegStream,ftblob); ExecSQL;
end;
finally
MS_JpegStream.Free;
M_BitMap.Free;
M_Jpeg.Free;
end;
end;procedure TForm1.Button1Click(Sender: TObject);//打开图片并写入数据库
begin
if openpicturedialog1.Execute then
begin
filename:=openpicturedialog1.FileName;
SetPicture(edit1.text,ADOQuery1);
end
end;procedure TForm1.Button2Click(Sender: TObject);//显示图片
begin
getpicture(edit1.text,ADOQuery2);
end;end.
TBlobField(ADOQuery1.Fields.FindField('ReamerChart')).LoadFromStream(lmsTempStream);
ADOQuery1.FieldByName('ReamerNo').AsString:=FlatEdit1.Text;
ADOQuery1.Post;
将adoquery1.insert改为adoquery1.edit;