预备任务:
1、在空白窗体上添加: ClientDataSet1、Button1
2、激活窗体的 OnCreate 事情、激活 Button1 的 OnClick 事情
完成代码:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, DBClient;
type
TForm1 = class(TForm)
ClientDataSet1: TClientDataSet;
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
const
PicPath1 = 'c:\temp\test1.bmp'; {保证测试图片的存在}
PicPath2 = 'c:\temp\test2.bmp';
{树立数据表并载入数据}
procedure TForm1.FormCreate(Sender: TObject);
begin
{建表}
with ClientDataSet1 do begin
FieldDefs.Add('Name', ftWideString, 8);
FieldDefs.Add('Age', ftInteger);
FieldDefs.Add('Picture', ftGraphic);
CreateDataSet;
end;
{添加第一条数据}
ClientDataSet1.Append;
ClientDataSet1['Name'] := '张三';
ClientDataSet1['Age'] := 66;
TGraphicField(ClientDataSet1.FieldByName('Picture')).LoadFromFile(PicPath1);
{添加第二条数据}
ClientDataSet1.Append;
ClientDataSet1['Name'] := '李四';
ClientDataSet1['Age'] := 16;
TGraphicField(ClientDataSet1.FieldByName('Picture')).LoadFromFile(PicPath2);
end;
{读出指定记载中的图片数据}
procedure TForm1.Button1Click(Sender: TObject);
var
BlobStream: TClientBlobStream;
GraphicField: TGraphicField;
Bitmap: TBitmap;
begin
{查找姓名是李四的记载}
if ClientDataSet1.Locate('Name', '李四', ) then //能够把其中的李四换成张三试试
begin
{读取其 Picture 字段}
GraphicField := ClientDataSet1.FieldByName('Picture') as TGraphicField;
{读入到 Blob 流}
BlobStream := TClientBlobStream.Create(GraphicField, bmRead);
{给一个 TBitmap 流是为了看看}
Bitmap := TBitmap.Create;
Bitmap.LoadFromStream(BlobStream);
Canvas.Draw(10, 10, Bitmap);
Bitmap.Free;
//
BlobStream.Free;
end;
end;
end.
读库教程网文章由网络收集后整理发布,文章发布人拥有该内容的所有权力及责任!
如果你喜欢这页,可以按Ctrl+D收藏起来。







