在DELPHI中更简单的存取JPEG文件到SQLSERVER数据库-Delphi-编程开发

在DELPHI中更简单的存取JPEG文件到SQLSERVER数据库
王大川(WDCZZH)
最近在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.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值