本文整理自网络,侵删。
数据库是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 xe2和xe3开发的程序中加入管理员权限申请
Delphi 2009 indy10 idhttp get 中文出现乱码的问题
更多相关阅读请进入《Delphi》频道 >>