您现在的位置是: 软件 > 设计在线 > 网页陶吧 > 技术平台 > HTML学习 > 正文


-Win xp中的多种网络
-试验试验试验试验
-用Freehand实现位图矢量化
-网络电话面面观

在Delphi程序中操作大二分对象(BLOB)
2000-11-05· ·李晓平 袁一林··yesky

上一页  1 2 3  


下面是一个简单的例子。

一个简单的例子
  本例中,采用Paradox数据库。库中有两个字段,一个是字符型,另一个是BLOB型。我们在主Form上放一个OLE控件用于编辑及转换数据。一个Table控件操作数据库。源代码如下:
unit blob01;
interface
uses
 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
 StdCtrls, Grids, DBGrids, Db, DBCtrls, OleCtnrs, DBTables, ExtCtrls;
type
 TForm1 = class(TForm)
  Panel1: TPanel;
  Panel2: TPanel;
  Splitter1: TSplitter;
  Panel3: TPanel;
  Table1: TTable;
  OleContainer1: TOleContainer;
  DBNavigator1: TDBNavigator;
  DataSource1: TDataSource;
  DBGrid1: TDBGrid;
  OpenBtn: TButton;
  CloseBtn: TButton;
  OpenDialog1: TOpenDialog;
  LoadBtn: TButton;
  Table1Filename: TStringField;
  Table1ABlob: TBlobField;
  procedure OpenBtnClick(Sender: TObject);
  procedure CloseBtnClick(Sender: TObject);
  procedure LoadBtnClick(Sender: TObject);
  procedure Table1AfterScroll(DataSet: TDataSet);
private
 { Private declarations }
public
 { Public declarations }
end;

var
 Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.OpenBtnClick(Sender: TObject);
begin
  Table1.Open; //打开数据库
end;

procedure TForm1.CloseBtnClick(Sender: TObject);
begin
  Table1.Close; //关闭数据库
end;

//打开一个数据文件、创建OLE对象、将对象数据存入数据库
procedure TForm1.LoadBtnClick(Sender: TObject);
var
fn: string;
begin
 if OpenDialog1.Execute then begin //打开文件
  fn := ExtractFileName(OpenDialog1.FileName);
  Table1FileName.AsString := fn;
  OleContainer1.CreateObjectFromFile(OpenDialog1.FileName, False); //创建OLE对象
  OleContainer1.SaveToFile("tmp"); //将OLE数据存入临时文件
  Table1ABlob.LoadFromFile("tmp"); //将OLE数据存入数据库
 end;
end;

//定义此方法用于显示当前记录中的OLE对象
procedure TForm1.Table1AfterScroll(DataSet: TDataSet);
begin
 if not Table1ABlob.IsNull then begin
  Table1ABlob.SaveToFile("tmp"); //数据存入临时文件
  OleContainer1.LoadFromFile("tmp"); //从临时文件中读取OLE对象
 end;
end;

end.


该程序在Delphi 5.0下编译通过。

上一页  1 2 3  

■ 相关内容
 Delphi3如何调用Excel
 优化delphi5.0秘籍大曝光
感谢 访问天极网,如果您觉得该文章涉及版权问题,请看这里!