
|
导读最近在CSDN上看到两篇关于《DELPHI中存取JPEG文件到SQLSERVER》中的文章之后,觉得其中讲述的方法虽然有可取之处,但颇费时,我这里有更简单的操作方法,而且安全可靠,不敢一人独享,愿发... 最近在CSDN上看到两篇关于《DELPHI中存取JPEG文件到SQLSERVER》中的文章之后,觉得其中讲述的方法虽然有可取之处,但颇费时,我这里有更简单的操作方法,而且安全可靠,不敢一人独享,愿发布出来与大家共享。在Delphi7.0+Win2000+SqlServer 2000中测试通过,运行良好,现将思路、源码公开如下: 解决思路: 1、 关键在于将打开的JPEG文件动态转换为Tbitmap对象并显示在Timage对象中; 2、 将显示的图片提交到数据库中。 本例中在SQLSERVER2000中建立了一个试例表:exam(xm char(10),photo image);
程序源代码: unit SavePic; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtDlgs, ExtCtrls, DBCtrls, Grids, DBGrids, DB, ADODB, Buttons, StdCtrls,Jpeg;
type TForm1 = class(TForm) SpeedButton1: TSpeedButton; ADOConnection1: TADOConnection; Table1: TADOTable; DataSource1: TDataSource; DBGrid1: TDBGrid; DBImage1: TDBImage; Image1: TImage; SpeedButton2: TSpeedButton; OpenPictureDialog1: TOpenPictureDialog; Label1: TLabel; Label2: TLabel; Edit1: TEdit; SpeedButton3: TSpeedButton; procedure SpeedButton2Click(Sender: TObject); procedure SpeedButton1Click(Sender: TObject); procedure SpeedButton3Click(Sender: TObject); private { Private declarations } public { Public declarations } end;
var Form1: TForm1;
implementation
{$R *.dfm} procedure TForm1.SpeedButton2Click(Sender: TObject); var bmp1:TBitmap; jpg1:TJpegImage; begin
OpenPictureDialog1.DefaultExt:=GraphicExtension(TJpegimage); if OpenPictureDialog1.Execute then begin bmp1:=TBitmap.Create; jpg1:=TJpegImage.Create; try jpg1.LoadFromFile(OpenPictureDialog1.FileName); bmp1.Assign(jpg1); Image1.Picture.Bitmap.Assign(bmp1); finally jpg1.Free; bmp1.Free; end; end; end;
procedure TForm1.SpeedButton1Click(Sender: TObject); begin table1.Open; table1.insert; table1.fieldbyname('xm').asstring:=Edit1.Text; table1.FieldByName('photo').Assign(Image1.Picture); table1.post; table1.Refresh; end; end. |
温馨提示:喜欢本站的话,请收藏一下本站!