国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

數據庫應用程序開發(fā)中圖像數據的存取技術

2019-11-18 18:46:50
字體:
來源:轉載
供稿:網友
數據庫應用程序開發(fā)中圖像數據的存取技術

Delphi提供了數據訪問(Dataaccess)和數據控制(DataControls)的可視化控件,能夠方便快捷地產生具有良好界面且功能強大的數據庫應用程序。對于涉及圖像數據(含Graphic字段)的數據庫應用程序,如人事管理信息系統(tǒng)等,圖像數據的存取技術是一個關鍵。然而,有關Delphi下圖象的存取,特別是圖像的保存方面的技術各種資料上很少提及。下面,筆者結合一個簡單的例子來說明。


一、圖像數據的保存

1.創(chuàng)建一個含有Graphic字段的數據庫列表。

在WindowsISQ(或Databasedesktop)下create database mydb.gdb


create table myfrieds(name varchar(15) notnull,telephone varchar(12), address varchar(30),zipvarchar(8),picture varchar(15),image blob);


其中,picture字段用于保存圖像的名稱(包括路徑),image(Graphic字符)則用于存儲圖像,其數據類型為“blob”。


2.建立窗體(如圖1所示),設置窗體中各控件的屬性。


該窗體的主要功能是將某人信息進行編輯和保存。需要注意的圖像保存所用的圖像框必須用TImage而不能用TDBImage,編輯框宜用Tedit而不宜用TDBEdit,這一點與圖像的讀取恰好相反。


其中,各主要控件的屬性設置如下:

Datasource1.Dataset:=table1;

Table1.Databasename:=mydb.gdb;

Table1.Tablename:=myfriends;

Table1.active:=true;

其他諸如Caption之類的屬性設置不再敘述。


3.數據處理程序的建立。

(1)圖像( .bmp文件)打開的處理。


table1.fields[4].assign(graphic1);

table1.post;

graphic1.free;

end;


二、圖像數據的讀取

在數據庫數據(包括Graphic字段的數據)的讀取和瀏覽方面,Delphi這一具有強大代碼自動生成功能的面向對象的開發(fā)工具的優(yōu)越性得到淋漓盡致的體現。毫不夸張地說,不需要一條語句即可完成這一功能!

圖中Table1和Datasource1的屬性的設置與數據的保存部分(圖1)相同,所不同的是數據庫數據的讀取時用TDBEdit和TDBImage控件而不用TEdit和TImage。控件TDBEdit和TDBImage只要將datafield屬性設置為其相對應的域;TDBNavigator的datasouce屬性設置為datasource1即可。

tre

級別: 散兵  
來自:廈門
OICQ:
積分:457
專家分:107
總排名:180
最后現身:2001-5-23 19:34:05(登陸100次)  
發(fā)表于: 2001-5-23 20:02:40


--------------------------------------------------------------------------------
我也貼片給你是李維ado書上的
procedure TForm1.Button1Click(Sender: TObject);
var
sfilename:string;
function blobcont(const filename:string):string;
  begin
  with tfilestream.Create(filename,fmopenread) do
   try
    setlength(result,size);
    read(pointer(result)^,size);
   finally
    free;
   end;
  end;

begin
if opendialog1.Execute then
  begin
    sfilename:=opendialog1.FileName;
    adodataset1.Append;
    adodataset1.FieldByName('ff').asstring:=blobcont(sfilename);
    adodataset1.Post;
  end;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
sfilename:string;
bs:tadoblobstream;
begin
bs:=tadoblobstream.Create(tblobfield(adodataset1.FieldByName('ff')),bmread);
try

  sfilename:='c:ff.doc';//換成圖片格式就可以了
  if fileexists(sfilename) then
   deletefile(sfilename);
  bs.SaveTofile(sfilename);
  OleContainer1.CreateObjectFromFile(sfilename,false);
  //OleContainer1.LoadFromFile(sfilename);
  //OleContainer1.LoadFromStream()
  //memo1.Lines.LoadFromFile(sfilename);
// WebBrowser1.Navigate(pchar(sfilename));
finally
  bs.free;
end;

上一篇:截獲與管理Windows的消息

下一篇:發(fā)現:不要Excel也可生成xls文件

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

主站蜘蛛池模板: 二连浩特市| 宁陕县| 会昌县| 且末县| 汽车| 上高县| 高唐县| 定安县| 颍上县| 宜兰县| 剑阁县| 田东县| 耿马| 阳原县| 湘潭县| 屏东市| 简阳市| 内黄县| 垦利县| 泰顺县| 福鼎市| 长治市| 衡南县| 南丰县| 宜章县| 西华县| 共和县| 祥云县| 孝昌县| 来安县| 商城县| 读书| 云南省| 运城市| 略阳县| 安塞县| 吴旗县| 栾川县| 都昌县| 尼勒克县| 久治县|