手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>程序设计>delphi>列表

Delphi开发单机瘦数据库程序要点

来源:互联网 作者:西部数码 时间:2008-04-09
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!
  一、概述

  Delphi作为Windows下的一种快速开发工具,不仅能开发一般的Windows应用程序,而且还具有强大的数据库应用程序开发功能。Delphi本身提供了对BDE,ODBC,ADO和InterBase几种数据库驱动的支持,能够满足不同应用对数据库程序开发的需要。

  然而,在发布用Delphi开发的数据库程序时,除了要安装应用程序之外,还需要同时发布数据库驱动程序。这对于一些只涉及单个或多个简单表数据存储的单机应用程序来说,就显得有点头重脚轻的感觉了。况且,有些应用程序本身需要存储大量数据,但本身又要求结果短小精悍的话,用Delphi常规开发数据库的方法就不能满足需要了。

  那么,有没有办法解决上述矛盾,开发出能脱离庞大的数据库驱动程序的"瘦"数据库单机应用程序呢?Delphi5在Midas控件面板中提供了一个TClientDataSet控件,可以很好地解决这个问题。

  二、TClientDataSet使用要点

  TClientDataSet控件继承自TDataSet,其数据存储文件格式扩展名为.cds,是基于文件型数据存储和操作的控件。该控件封装了对数据进行操作处理的接口和功能,而本身并不依赖上述几种数据库驱动程序,基本上能满足单机"瘦"数据库应用程序的需要。

  1.TClientDataSet的基本属性和方法介绍

  1).FieldDefs: 字段定义列表属性

  开发者可通过单击属性编辑器中该属性编辑按钮,或在该控件上单击右键选择弹出菜单中的"Fields Editor"菜单进行字段编辑。设置完此属性后,实际上就相当于定义了表的结构;如果想装入已有的数据表的结构和数据,可通过单击右键选择弹出菜单中的"Assign Local Data"菜单,从弹出对话框中选取当前窗体中已与数据库连接好的数据集控件名称即可(当前窗体中必须已放置好要套用的数据集控件并打开激活)。

  使用注意:

  对于自定义的字段名表,该属性编辑完后,该控件仍然无法打开。必须右键单击该控件,选择弹出菜单中的"Create DataSet"菜单,让该控件以上述编辑的字段列表为依据,创建数据集后,才能够被激活打开和使用。否则,会出现类似"ClientDataSet1: Missing data provider or data packet."的错误(包括在运行期,运行期可调用该控件的CreateDataSet方法,从而动态定义字段和表)。
  2).FileName属性

  说明:数据存储文件的名称。

  因该控件是基于文件型的数据操作控件,因此,必须指定所操作的数据文件名称(默认扩展名称.cds),从而打开和激活该控件,进而进行数据编辑。

  例1:利用此属性打开指定的.cds文件

var
Path: string;
begin
 Path := ExtractFilePath(Application.ExeName); //取得可执行文件路径
 CDataSet1.FileName := Path 'test.cds';
 CDataSet1.Open;
end;
  3).CreateDataSet方法

  说明:该方法以FieldDefs中的字段名表为结构建立数据集,常用来进行动态定义表。

  例2:动态创建一具有姓名和年龄两个字段的数据集。

//创建字段名表
CDataSet.FieldDefs.Clear;
with CDataSet.FieldDefs.AddFieldDef do
begin
 Name := 'Name';
 Size := 10;
 DataType := ftString;
end;
with CDataSet.FieldDefs.AddFieldDef do
begin
 Name := 'Age';
 DataType := ftInteger;
end;
 //动态创建数据集
 CDataSet.CreateDataSet;
 //激活和打开该数据集
 CDataSet.Open;
  4).Open方法

  说明: 打开和激活数据集控件,从而进行数据编辑。

  a. 如果指定了FileName属性,则直接用Open方法即可打开和激活该控件,见例1。

  b. 如果未指定FileName属性,可使用例2方法动态创建和打开数据集,进而操作数据。

  5).LoadFromFile和SaveToFile

  说明:从文件中装入表结构和数据以及存储数据到文件。该方法类似于Word中的打开新文件和另存为的功能。

  例3:将数据集的数据存储到指定文件中

CDataSet.SaveToFile('c:\windows\desktop\test.cds');
  6).First(到首),Prior(向前),Next(向后),Last(到尾),Edit(编辑),CanCel(取消编辑),Post(保存),Insert(插入记录),Append(添加记录),Delete(删除),Refresh(数据刷新)等数据集常用方法

  说明:当指定了FileName属性时,其Post方法可将数据存入指定的文件中,类似其SaveToFile方法;如果未指定存储文件名,则Post方法只将数据存储在RAM中。其它方法,同一般数据集控件使用方法,略。

  7).Filter, Filtered: 过滤筛选属性

  说明:用于筛选指定条件的记录,用法同一般数据集控件,略。

  例4:在已经激活打开的数据集中筛选性别为男性的记录

CDataSet.Close;
CDataSet.Filter := '性别=''' '男' '''';
CDataSet.Filtered := True;
CDataSet.Open;
  2.使用TClientDataSet控件的应用程序发布的注意事项:

  如前所述,使用TClientDataSet控件的程序发布时不需要任何数据库驱动程序,大大节省了安装文件的大小。但是,在发布程序时别忘了将Windows系统目录下midas.dll(257KB)与应用程序一起发布(运行必须),否则,程序仍然无法正常运行。

  三、结束语

  通过使用Delphi中TClientDataSet控件,既实现了应用程序可彻底脱离数据库驱动程序,也实现了常规数据集控件简单易用的特性,为编写"瘦"数据库应用程序提供了一种技术方法和手段。

  上述程序在Pwindows98,Delphi5下测试通过。



文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

热点关注
IDC资讯 虚拟主机 域名注册 托管租用 vps主机 智能建站
网站运营 建站经验 策划盈利 搜索优化 网站推广 免费资源
网站联盟 联盟新闻 联盟介绍 联盟点评 网赚技巧
行业资讯 业界动态 搜索引擎 网络游戏 门户动态 电子商务 广告传媒
网络编程 Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术 Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷 Internet Explorer
网页制作 FrontPages Dreamweaver Javascript css photoshop fireworks Flash
程序设计 Java技术 C/C++ VB delphi
网络知识 网络协议 网络安全 网络管理 组网方案 Cisco技术
操作系统 Win2000 WinXP Win2003 Mac OS Linux FreeBSD
返回首页 |关于我们 | 联系我们 | 付款方式 | 创业联盟 | 价格总览 | 资讯中心 | 友情链接 | 网站地图 | 招贤纳士 | RSS