delphi 用DBExpress处理JPG图片  
官方Delphi 学习QQ群: 682628230(三千人)
频道

delphi 用DBExpress处理JPG图片


数据库是SQL Server 2005,字段类型为Image。

窗体上放置了

SQLConnection1: TSQLConnection;
SQLDataSet1: TSQLDataSet;
DataSetProvider1: TDataSetProvider;
ClientDataSet1: TClientDataSet;
DataSource1: TDataSource;
Image1: TImage;

2个Button。一个Image1。

完整代码如下:

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, WideStrings, DB, SqlExpr, DBCtrls, SnDBImage, StdCtrls, AdvCombo,
ImagePicker, FMTBcd, Provider, DBClient, cxControls, cxContainer, cxEdit,
cxImage, cxDBEdit, ExtCtrls,jpeg, ExtDlgs, FlatCtrls, FlatCtrdb;

type
TForm1 = class(TForm)
SQLConnection1: TSQLConnection;
SQLDataSet1: TSQLDataSet;
DataSetProvider1: TDataSetProvider;
ClientDataSet1: TClientDataSet;
DataSource1: TDataSource;
Image1: TImage;
ClientDataSet1BlobField: TBlobField;
Button1: TButton;
OpenPictureDialog1: TOpenPictureDialog;
Button2: TButton;
Button3: TButton;
FlatDBEdit1: TFlatDBEdit;
ClientDataSet1StringField: TStringField;
procedure ClientDataSet1AfterScroll(DataSet: TDataSet);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin//新增图片

if Self.OpenPictureDialog1.Execute then
begin
Self.ClientDataSet1.Insert;
Self.Image1.Picture.LoadFromFile(Self.OpenPictureDialog1.FileName);

ClientDataSet1BlobField.LoadFromFile(Self.OpenPictureDialog1.FileName);
end;

end;

procedure TForm1.Button2Click(Sender: TObject);
begin//保存
Self.ClientDataSet1.ApplyUpdates(0);
end;

procedure TForm1.Button3Click(Sender: TObject);
begin//编辑图片字段
if Self.OpenPictureDialog1.Execute then
begin
Self.ClientDataSet1.Edit;
Self.Image1.Picture.LoadFromFile(Self.OpenPictureDialog1.FileName);
ClientDataSet1BlobField.LoadFromFile(Self.OpenPictureDialog1.FileName);
end;
end;

procedure TForm1.ClientDataSet1AfterScroll(DataSet: TDataSet);
begin//每选择一个记录自动读取图片
ClientDataSet1BlobField.SaveToFile('123.jpg');
Self.Image1.Picture.LoadFromFile('123.jpg');
end;

end.


推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.048340797424316 seconds