Delphi数据库知识_数据库开发(1)

Delphi数据库处理

第一节 BDE、ADO、InterBase和dbExpress

Delphi中处理数据库主要有两种方法,也就是BDE、ADO,从Delphi
6.0开始还加入了一种dbExpress方法。 另外,Delphi还提供了专门处
理Borland 公司自己的数据库产品InterBase 数据库的专门的方法。
BDE(Borland Databas Engine), 是Delphi中最古老的技术,从
delphi 2.0加入BDE 技术以后,一直是Delphi处理数据库的事实上的标
准。BDE 是一个基于驱动程序的体系结构,每一种数据格式或数据源都
有一种驱动程序来驱动相近的数据源。BDE 可以很好的支持现在最流行
的ODBC API方法,
ODBC是一种C/C++ 应用程序编程接口(API ),无论是对任何一种
客户/ 服务器关系型数据库管理系统(RDBMS ),还是最流行索引顺序
访问方法(ISAM)数据库(Jet、Foxpro), 都能很好的访问。
同时,由于BDE 的驱动程序主要直接来自于第三方开发商,所以,
对于像Oracle这些非微软的数据库,执行效率上比较高。正是这些特点,
使BDE 技术还是得到了很多数据库开发程序员的欢迎。
ADO 技术是微软提出来的处理关系型数据库和非关系型数据库的新
技术,它基于微软被称为OLE DB的数据访问模式,它是专门为了给大范
围商业数据源提供访问而设计的,包括传统的关系型数据表、电子邮件
系统、图形格式、Internet资源等。ADO 所需内存更少,更适合大流量
和大事务量的网络计算机系统。
ADO 顶层有三个对象:Connection、Command、Recordset。
Connection用以指定数据源,建立和数据源的连接。
Command 对象用以对数剧源执行指定的命令,可以接受SQL 语句,
表和存储过程的名称,执行SQL 查询,更新数据,插入纪录等。
Recordset 对象表示的是来自表或命令执行结果的记录全集,操纵
来自提供者的几乎所有数据。
由于ADO 技术的迅速普及,从Delphi 5.0 开始,加入了ADO 技术
的模块,并逐步成为Delphi数据库设计的主流。但是,和VB的ADODC 相
比,它还是有所不同的,在数据绑定上,它更多的吸收了BDE 的特点,
以做到和原来的程序兼容,同时,它又可以接受标准ADO 技术的各种属
性和方法,在接受这些属性和方法时,它是和数据绑定控件脱离的,当
然从某种意义上来说,这种方案提高了执行效率,给设计人员以更多的
选择。
dbExpress 是Delphi 6.0加入的最新的数据库模块,它不使用缓存,
可以快速浏览大量的数据,但是,不使用缓存就不能更改,所以它的标
准方式是只读的。它一个重要的特点是交叉平台,可以和Linux 数据库
连接,速度相当快。
下面的讨论,将以ADO 技术为主线,最后再说明BDE 和dbExpress
的应用方式。

第二节 ADO 面板的主要组件

ADO 面板一共有7 个组件:

ADOConnection: 主要用于建立数据库的连接;
ADOdataSet:ADO 提取和操作数据库的主要数据集,可以直接连接
到数据库,也可以通过 ADOConnection连接到数据库。
ADOtable:主要用以操作和提取单个基表的数据,可以直接连接到
数据库,也可以通过 ADOConnection连接到数据库。
ADOquery:通过SQL 语言提取数据,其连接数据库的方式和前两种
一样。
ADOStoredProc: 这个组件专门用于运行数据库中的存储过程。
ADOCommand:该组件用于运行一些SQL 命令,这个组件可以和支持
数据集的组件一起使用,也可以直接从一个基表中提取一个数据集。
RDSConnection: 一个进程或一台计算机传递到另一个进程或计算
机的数据集合。
为了连接数据绑定控件,上述组件往往要和处于Data Access 中的
Datasource配合使用。
可以看出,和VB的ADODC 不同的,Delphi中解决同一个问题提供了
多种方案,看起来似乎增加了麻烦,但是却可以给程序员更大的自由空
间,便于设计出高效率的数据库程序来。
下面通过几个例子来说明ADO 控件的用法。

第三节 ADOtable组件

ADOtable、ADOdataSet、ADOquery和ADOStoredProc都继承了同一
个父类TCustomADODataSet,所以,在属性事件和方法上有很多相似的
地方,但它主要是针对数据库中的表进行操作。

ADO -〉ADOtable
属性:
Name='控件名'
ConnectionString='连接字符串'
可以通过点击右边的按钮,通过向导建立数据源。有时候需要
知道相对路径,可以用下面的方法找到程序当前的路径:

tpath:=ExtractFilepath(Application.Exename);

文件名:=Tpath+'..\data\Test.mdb'

表明数据库在当前程序上一层的Data文件夹下。

TableName='表名'
Active=true

这就激活了数据源,为了和绑定控件联系,要增加一个DadaSource
控件。事实上,所有的绑定控件都是和DadaSource联系。

Data Access-〉DadaSource
属性:
Dataset=ADOtable.Name

加入绑定控件:
Data Controls-〉

DBgrid(表格)
属性
DadaSource='DadaSource.Name'

DBNavigator(导航条)
属性
DadaSource='DadaSource.Name'

运行一下可以看出关系

下面介绍一下ADOtable的一些重要的方法,这些方法大部分和Table
是兼容的。
为了便于叙述,ADOtable控件的Name定为 ADOtable1

1)移动指针

第一个: ADotable1.First;
最后一个: ADotable1.Last;
下一个: ADotable1.Next;
前一个: ADotable1.Prior;

2)从字段中取出数据
通过如下方法可以访问字段的值

ADOtable1.FieldValues['字段名']
ADOtable1.Field[索引值]

在读写字段的时候,又是根据需要可以加上强制类型转换
例如:
Edit1.text:=ADOtable1.Field[0].AsString;

用下面的方法可以去除字段的性质:

ADOtable1.fielddefs[索引值].name; 字段名
ADOtable1.fielddefs[索引值].Size; 字段大小
ADOtable1.fielddefs[索引值].Datatype; 字段属性

3)修改数据:
修改数据的时候,需要先建立EDIT方法,然后用Post方法才能真
正的写入。

ADOtable1.edit;
ADOtable1.FieldValues['姓名']:='王秀琴';
ADOtable1.post;


4)增加一条空纪录: ADOtable1.append;

新增纪录也可以用如下方法,在新增纪录的同时输入数据

ADOtable1.appendRecord(xxx,xxx,xxx,....);

5)删除当前纪录:ADOtable1.delete;
如果在ADOtable1的OnBeforeDelete方法中写下:
if messagedlg('确实要删除吗?',mtinformation,[mbyes,mbno],
0)=mrno then abort();
可以实现删除前的提示。

6)过滤
可以用如下的方法实现数据的过滤

在ADOtable1的OnFilterRecord方法中写下:
Accept:=(条件);

然后

ADOtable1.filtered:=true; 为实现过滤。
ADOtable1.filtered:=false; 为解除过滤。

7)指针在文件的头尾

指针在最后一条记录之后 ADOtable1.Eof
指针在第一条记录之前 ADOtable1.Bof

如此可以实现对数据库的遍历

form1.ADOtable1.first;
while not form1.ADOtable1.eof do
Begin
.......
form1.ADOtable1.next;
End;

8)此外, ADOtable组件还继承了ADO 中的RecordSet对象几乎
全部属性和方法,简述如下:

with adoTable1.Recordset do
begin

//属性
PageSize 一页所包含的记录数
PageCount 数据的页数
AbsolutePage; 当前记录所在页
AbsolutePosition; 当前记录的序号位置
BOF; 指针在第一个记录之前
EOF; 指针在最后一个记录之后

//方法
AddNew fieldList,Values; 创建新记录,其中fieldList为用数
组表示的字段名集,Values为用数组表
示的数据集。
Cancel; 取消上一步所作的修改
Update Fields,Values; 保存对当前记录所作的修改
Delete; 删除当前记录
Move(n); 移动n 条记录
MoveFirst; 移动到第一条纪录
MoveLast; 移动到最后一条纪录
MoveNext 移动到下一条纪录
MovePrevious 移动到上一条纪录
Requery; 通过从新执行对象所基于的查询,以
更新RecordSet 对象中的数据。
end;

使用Recordset 对象来处理数据集的数据,会发现数据帮定控件的指
针一般不会跟着移动,这实际上给设计者提供了另一个在后台快速处理数
据的方法。

转载于:https://www.cnblogs.com/qiannong/archive/2008/12/02/1345888.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
精通Delphi数据库设计与实例开发配套光盘很难找到的光盘。 图书简介: Delplli是Borland公司推出的可视化开发工具,它拥有世界上最快的编译器,并提供了丰富的组件集、强大的代码自动生成功能和丰富的数据库管理工具等,使用它的集成开发环境,编程人员可以更快地建立应用程序。"真正的程序员用C(语言),聪明的程序员用DeIphi(语言)--这句话是对Delphi最经典、最实在的描述。和VC相比,Delphi更简单、更易于掌握.在能上却丝毫不逊色:和VB相比,Del phi则功能更强大,更实用。可以说Delphi同时兼备了VC功能强大和VB简单易学的特点,因此成为了无数程序员挚爱的编程工具。 开发数据库应用系统是一项复杂的工程,而在众多的编程工具中,Delphi数据库方面的特长尤为突出:它适应于多种数据库结构,包括从客户/服务器模式到多层数据结构模式;具有高效率的数据库管理系统和新一代更先进的数据库引擎提供了最新的数据分析手段大量的企业组件。因此,使用Delphi开发数据库系统可以大大减轻程序员的工作量,缩短系统的开发周期。 本书系统而全面地讲解了使用Delpt"1i开发数据库应用程序的方法,包括Delphi的快速入门、Object PascaI的语法基础、基本组件的使用方法、数据库基础知识数据库环境设置、连接数据库的方法、使用BDE和ADO等组件进行各种数据操作的方法、数据控制组件的使用方法、报表和图表的设计方法、存储过程和触发器的使用方法、建立多层分布式数据库应用程序的方法,以及设计Web数据库程序的方法。值得一提的是,在第1 4章~第1 7章中详细展示了超市管理系统、贸易管理系统、影碟租赁系统和酒店管理系统4个数据库应用案例的开发过程。这些案例功能完整、界面简洁,并且具有很高的实用价值,稍加改动即可直接应用于实际的工作环境中。这些综合案例的讲解并非仅仅介绍相关程序构造、搭建过程,而是与前面的基础知识综合贯穿起来,将理论知识与实际操作完美结合,强化读者的学习效果。最后,本书还介绍了使用install shield发布数据库应用程序的方法。 本书循序渐进、由浅入深、系统全面地讲解了使用Delphi开发数据库应用程序的各种方法和技巧,在其中的关键知识点上均列举了针对性很强的小程序来进行讲解,方便读者进行学习。对于Delpl"1i的初级用户,通过本书的学习可以轻松理解Delphi数据库相关的基础知识,以及快速掌握使用Delphi开发数据库应用程序的方法;而对于Delphi的中级用户,本书那些较为详尽且具有较强实用性和针对性的开发数据库系统的关键技术和技巧,也能够为这一层次的读者提供解决实际问题的思路与方案。 同时,本书配套光盘中提供了书中全部应用实例的效果文件及源程序代码。相信通过对 操作步骤的详细讲解和典型案例的系统分析,能够帮助读者融会贯通Delphi数据库开发的各种方法和技巧,从而开发出真正适合企业应用的数据库系统。 本书适合于Delphi的初中级读者,也可作为广大Delphi程序爱好者、相关从业技术人 或高等院校相关专业师生教学的参考用书。 由于本书作者水平有限,书中不足之处在所难免,敬请广大读者批评指正。
### 回答1: Delphi海康ivms数据库是指基于Delphi编程语言开发的海康威视iVMS(智能视频管理系统)软件所使用的数据库。iVMS是一款全面的视频监控系统解决方案,它支持海康威视公司的所有设备,同时具有智能分析和业务管理能力。 在这个系统中,数据库被用于存储用户信息、设备信息、监控数据、报警信息以及各种配置信息。Delphi海康ivms数据库采用的是关系型数据库的模型,使用MySQL或者SQL Server进行存储管理。 数据库是iVMS系统中不可缺少的一部分,它被广泛应用于实时视频监控、报警处理、授权管理等方面,为用户提供了一个高效、安全、稳定的数据中心。除此之外,数据库还可以为海康威视公司提供价值,比如数据统计分析、运营监控、系统优化等。 总的来说,Delphi海康ivms数据库是iVMS系统的核心组件,它为用户提供了一个高效、安全、智能的视频监控平台,同时也为公司的发展提供了有力的支持。 ### 回答2: Delphi是一种基于Object Pascal语言的集成开发环境(IDE),通常用于构建Windows上的应用程序。海康威视IVMS是一个视频监控系统,可通过该系统实现对视频监控的布局、录像和回放等各种功能。数据库是计算机应用程序中用于存储和管理数据的电子系统。 在Delphi中使用海康威视IVMS数据库,需要安装IVMS SDK并在Delphi中引用相关的IVMS SDK库文件。通过相关API,可以实现与IVMS数据库进行交互,例如:在Delphi中调用IVMS SDK提供的API就可以实现向IVMS数据库中添加、修改、删除监控视频的功能。 IVMS数据库的使用并不复杂,但需要了解IVMS SDK的相关知识和技术,同时需要掌握使用Delphi编程的技巧。在具体应用中,需要考虑IVMS数据库与其它系统的集成,以及对数据库进行备份和恢复等操作。这些都需要开发人员具备较高的技术水平和严谨的工作态度。 总之,使用Delphi编程实现与海康威视IVMS数据库交互是一个技术难度适中但有一定挑战性的工作,需要开发人员对各种技术方面都有较为深刻的理解和掌握。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值