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.

相关阅读 >>

Delphi中使用内联变量(inline variables) 的5个理由

Delphi版雪花算法

Delphi中用idhttp获取json数据乱码问题

Delphi中关于时间差的实例

Delphi xe5 android应用程序获取电池信息

Delphi里label显示多行文本的两种方法

Delphi 控制台读写

winapi 字符及字符串函数(5): ischaralpha - 是否是个字母

Delphi 当前日期的加减运算

Delphi目录操作示例

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...