delphi数据库

2024-07-24

delphi数据库(精选10篇)

delphi数据库 第1篇

Delphi将可视化编程(Visual Programming)与面向对象(Object-Oriented)的卓越优点结合在PASCAL语言开发平台上,功能强大、简便易用,深受编程人员的欢迎,只要很短的时间即可完成编程。

2 数据库开发

数据库系统主要由三大部分组成:数据库管理系统(DBMS:它是专门负责组织和管理数据信息的程序)、数据库应用程序(它使我们能够获取、显示和更新由DBMS存储的数据)、数据库(按一定结构组织在一起的相关数据的集合)。

数据库管理系统(DBMS)是用于描述、管理和维护数据库的程序系统,是数据库系统的核心组成部分。它建立在操作系统的基础上,对数据库进行统一的管理和控制。其主要功能有:描述数据库、管理数据库、维护数据库、数据通信。DBMS中的关系数据库(Relational Database)系统应用最为广泛。一个关系数据库是由若干表组成。DBMS中存储了大量的数据信息,其目的是为用户提供数据信息服务,而数据库应用程序正是与DBMS进行通信,并访问DBMS中的数据,它是DBMS实现其对外提供数据信息服务这一目的的唯一途径。简单地说,数据库应用程序是一个允许用户插入、修改、删除并报告数据库中的数据的计算机程序。近年来出现了多种面向用户的数据库应用程序开发工具,这些工具可以简化使用DBMS的过程,并且不需要专门编程。Delphi就是一种强有力的数据库应用程序开发工具。

3 Delphi数据库接口

Delphi中处理数据库主要有两种方法,也就是BDE、ADO,从Delphi 6.0开始还加入了一种db Express方法。另外,Delphi还提供了专门处理Borland公司自己的数据库产品Inter Base数据库的专门的方法。

3.1 BDE接口

BDE(Borland Databas Engine),一直是Delphi处理数据库的事实上的标准。它是一个基于驱动程序的体系结构,每一种数据格式或数据源都有一种驱动程序来驱动相近的数据源。BDE可以很好的支持现在最流行的ODBC-API方法。同时,由于BDE的驱动程序主要直接来自于第三方开发商,所以,对于像Oracle这些非微软的数据库,执行效率上比较高。正是这些特点,使BDE技术还是得到了很多数据库开发程序员的欢迎。

3.2 ADO接口

从Delphi 5.0开始,加入了ADO技术的模块,并逐步成为Delphi数据库设计的主流。但是,和VB的ADODC相比,它还是有所不同的,在数据绑定上,它更多的吸收了BDE的特点,以做到和原来的程序兼容,同时,它又可以接受标准ADO技术的各种属性和方法,在接受这些属性和方法时,它是和数据绑定控件脱离的,当然从某种意义上来说,这种方案提高了执行效率,给设计人员以更多的选择。

3.3 db Express方法

db Express是Delphi 6.0加入的最新的数据库模块,它不使用缓存,可以快速浏览大量的数据,但是,不使用缓存就不能更改,所以它的标准方式是只读的。它一个重要的特点是交叉平台,可以和Linux数据库连接,速度相当快。

由于ADO技术是当前应用最为重要,最为灵活的方式,本文主要对ADO方法进行分析举例。

4 数据库经验

如表1是应用delphi时,数据库开发的一些经验,可以起到很好的借鉴作用。

5 总结

该文对delphi在其数据库应用中的地位进行了详细的分析。指出了delphi应用于数据库的各种方法,并且对最为关键的ADO策略用例子详细地说明。用delphi处理数据库,形象、方便,大大提高了编程的效率。

参考文献

[1]萨师炕,王珊.数据库系统概论[M].3版.北京:高等教育出版社,1983.

[2]李新宇,郑丽群,吴志强.ORACLE分布式数据库及应用[J].计算机应用,2004(22):61-71.

[3]周爱民.Delphi源代码分析[M].北京:电子工业出版社,2004.

delphi数据库 第2篇

3 Delphi数据库常用组件

3.1数据访问组件

Table、Query和Storedproc三个组件也称为数据集组件,用于和数据库连接,可将这些组件视为数据库,对它们的操作就可认为是对数据库的操作。

DataSource组件是数据集组件和数据控制组件的连接媒介。数据控制组件是用户操作数据库中数据的界面,只有通过DataSource才能和数据集组件连接,从而获得数据用来进行显示、修改等操作。

?Query组件是利用结构化查询语言(Structured Query Language)通过 BDE来操作数据库的,采用SQL来实现。

Storedproc组件是通过 BDE对服务器数据库进行操作的,常用于客户/服务器结构的数据库应用程序。

DataBase组件一般用于建立远程的数据库服务器--客户/服务器结构的数据库应用程序和数据库之间的连接。

Session组件是用于控制数据库应用程序和数据库连接的,主要用于复杂的功能,比如多线程数据库程序编程。

BatchMove组件 用于大批数据的转移、复制等。

UpdateSQL组件专用于只读数据库,用于缓存数据库的更新。

3.2数据控制组件

数据控制组件也可称为数据显示组件或数据浏览组件。它们的主要功能是和数据访问组件配合供用户对数据进行浏览、编辑等操作。数据控制组件在组件板上的DataControl页上,共有15个组件。它们分别是: DBGrid组件、DBNavigator组件、DBText组件、DBEdit组件、DBMemo组件、DBImage组件、DBListbox组件、DBComboBox组件、DBCheckBox组件、DBRadioGroup组件、DBLookupListBox组件、DBLookupComboBox组件、DBRichEdit组件、DBCtrlGrid组件、DBChart组件。另外还有一些组件与数据库有关。Decision Cube是一组主要用于统计的组件,可以表格或图形等直观的方式表达统计结果,不过,似乎应用的不是很广泛。QReport 组件是用来最后输出报表的组件。

4 delphi下数据库应用例子

下面以一个简单的例子演示delphi下数据库的应用。在Form1.FormCreate事件中写入如下代码,程序启动时,将自动检测是否存在数据库别名Cntssamp,如果没有则建立之;自动检测别名Cntssamp中是否存在表格TSK(图书库),如果没有则自动建立表格TSK。

procedure TForm1.FormCreate(Sender: TObjecvar ap:TStringList;

answer:Integer;

begin  ap:=TStringlist.Create;

Session.GetAliasNames(ap); {取得别名列表}

if (ap.IndexOf(Cntssamp)=-1) then {判断别名是否存在}

begin

answer:=Application.MessageBox(BDE信息窗口,mb―OKCancel);{增加一个名为Cngzsamp的数据库别名}

if answer=IDCANCEL then

begin

ap.Free;   Exit;  end;

Session.AddStandardAlias(Cntssamp,c:delphp11,Paradox);

Session.SaveConfigFile; {BDE配置文件存盘}

end ;

ap.Clear; {取得Cngzsamp中的所有表格名称列表}

Session.GetTableNames(Cntssamp,,False,False,ap);

if (ap.IndexOf(TSK)=-1) then {判断表格是否存在}

begin

answer:=Application.MessageBox(Cntssamp中不存在表格TSK,现在创建吗?,表格信息窗口,mb―OKCancel);

if answer=IDCANCEL then

begin

ap.Free;   Exit;   end;

with table1 do

begin

Active:=false;

DatabaseName:=Cntss& {数据库别名}

TableName:=TSK;   {表格名}

TableType:=ttParadox; {数据库类型}

with FieldDefs do

begin {增加字段}

with IndexDefs do

begin {增加索引}

Clear; {按书号字段建立主索引}

Add(SHSY,SH,[Primary,ixUnique]);   end;

CreateTable; {创建表格}

end;   end ;   ap.free; {释放变量ap} end;

5总结

本文对delphi在其数据库应用中的地位进行了详细的分析。指出了delphi应用于数据库的各种方法,并且用例子详细地说明。用delphi处理数据库,形象、方便,大大提高了编程的效率。

参考文献:

[1]萨师炕,王珊,数据库系统概论(第三版),高等教育出版社,1983年8月

[2]李新宇,郑丽群,吴志强.ORACLE分布式数据库及应用.计算机应用[J].(22):71~61.

Delphi在移动时代重生 第3篇

据悉,跨平台已经成为英巴卡迪诺(Embarcadero)的一条重要的产品策略。其旗下的知名应用程序开发工具——RAD Studio、Delphi与C++Builder 都已在2014年全面支持移动开发,成为一个全方位、跨平台的开发工具。而物联网的兴起也被巴卡迪诺认为是一次机会。Delphi 与C++Builder今年都将推出新的版本以全面支持物联网应用,并将推出全球用户多年来一直期待的支持 Linux 平台的版本。届时,仅通过单一的原代码就可原生分发到包含Windows、Mac OS、iOS、Android与Linux的多种平台。

在产品之外,英巴卡迪诺还将加大技术支持力度。英巴卡迪诺亚太区和日本资深总监Malcolm Groves告诉记者,2015年,公司将重新改组销售与服务团队并改进市场策略,包括提供全产品线全球统一服务模式,并提高用户的注册启动与技术支持效率;提供用户中文手册与培训课程,以提高服务质量;提供用户更增值的服务与帮助,包含版本升级,维护合约等。

另外,公司还将增加新的合作伙伴捷康科技,以进一步加强英巴卡迪诺的本土化进程,为中国用户带来更多的支持。

Delphi数据库应用技术 第4篇

Delphi以其功能强大、简便易用等诸多特性,深受编程人员的欢迎。在数据库应用设计方面,Delphi也具有很好的功能。只要正确设置了构件的某些属性,再编写必要的程序代码对一些特定事件进行处理,就能够完成对多种数据库进行的数据处理,这样只要很短的时间即可完成编程。

2 概述

2.1 数据库管理系统(DBMS)

数据库管理系统是用于描述、管理和维护数据库的程序系统,是数据库系统的核心组成部分。它建立在操作系统的基础上,对数据库进行统一的管理和控制。其主要功能有:描述数据库、管理数据库、维护数据库、数据通信。DBMS中的关系数据库系统应用最为广泛。

2.2 数据库应用程序

DBMS中存储了大量的数据信息,其目的是为用户提供数据信息服务,而数据库应用程序正是与DBMS进行通信,并访问DBMS中的数据,它是DBMS实现其对外提供数据信息服务这一目的的唯一途径。简单地说,数据库应用程序是一个允许用户插入、修改、删除并报告数据库中的数据的计算机程序。数据库应用程序在传统上是由程序员用一种或多种通用或专用的程序设计语言编写的,但是近年来出现了多种面向用户的数据库应用程序开发工具,这些工具可以简化使用DBMS的过程,并且不需要专门编程。Delphi就是一种强有力的数据库应用程序开发工具。

3 应用数据库方法

Delphi中处理数据库主要有两种方法,也就是BDE、A-DO,从Delphi 6.0开始还加入了一种db Express方法。另外,Delphi还提供了专门处理Borland公司自己的数据库产品Inter Base数据库的专门的方法。

3.1 BDE

BDE一直是Delphi处理数据库的事实上的标准。它是一个基于驱动程序的体系结构,每一种数据格式或数据源都有一种驱动程序来驱动相近的数据源。BDE可以很好地支持现在最流行的ODBC-API方法。同时,由于BDE的驱动程序主要直接来自于第三方开发商,所以,对于像Oracle这些非微软的数据库,执行效率上比较高。正是这些特点,使BDE技术还是得到了很多数据库开发程序员的欢迎。

3.2 ADO

ADO技术基于微软被称为OLE DB的数据访问模式,包括传统的关系型数据表、电子邮件系统、图形格式、Internet资源等。ADO顶层有三个对象:Connection、Command、Recordset。Connection用以指定数据源,建立和数据源的连接。Command对象用以对数剧源执行指定的命令,可以接受SQL语句,表和存储过程的名称,执行SQL查询,更新数据,插入纪录等。

3.3 dbExpress

dbExpress是Delphi 6.0加入的最新的数据库模块,它不使用缓存,可以快速浏览大量的数据,但是,不使用缓存就不能更改,所以它的标准方式是只读的。它一个重要的特点是交叉平台,可以和Linux数据库连接,速度相当快。由于ADO技术是当前应用最为重要、最为灵活的方式,本文主要对ADO方法进行分析举例。

4 ADO应用

ADO面板一共有7个组件。ADOConnection主要用于建立数据库的连接;ADOdata Set提取和操作数据库的主要数据集,可以直接连接到数据库,也可以通过ADOConnection连接到数据库;ADOtable主要用以操作和提取单个基表的数据,可以直接连接到数据库,也可以通过ADOConnection连接到数据库;ADOquery通过SQL语言提取数据,其连接数据库的方式和前两种一样;ADOStored Proc这个组件专门用于运行数据库中的存储过程;ADOCommand该组件用于运行一些SQL命令,这个组件可以和支持数据集的组件一起使用,也可以直接从一个基表中提取一个数据集;RDSConnection一个进程或一台计算机传递到另一个进程或计算机的数据集合。

ADOtable、ADOdata Set、ADOquery和ADOStored Proc都继承同一个父类TCustom ADOData Set,在属性事件和方法上有很多相似的地方,但它主要是针对数据库中的表进行操作。本文以ADOtable组件为例,说明Delphi的数据库应用方法,其它的组件可以借鉴其使用方法。

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

(1)移动指针

第一个:ADotable1.First;

最后一个:ADotable1.Last;

下一个:ADotable1.Next;

前一个:ADotable1.Prior;

(2)从字段中取出数据

通过如下方法可以访问字段的值

ADOtable1.Field Values['字段名']

ADOtable1.Field[索引值]

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

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

ADOtable1.fielddefs[索引值].name;字段名

ADOtable1.fielddefs[索引值].Size;字段大小

ADOtable1.fielddefs[索引值].Datatype;字段属性

(3)修改数据

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

ADOtable1.edit;

ADOtable1.Field Values['姓名']:='张三';

ADOtable1.post;

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

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

ADOtable1.append Record(xxx,xxx,xxx,....);

(5)删除当前记录:ADOtable1.delete;

如果在ADOtable1的On Before Delete方法中写下:

if messagedlg('确实要删除吗?',mtinformation,[mbyes,mbno],?0)=mrno then abort();

可以实现删除前的提示。

(6)过滤

可以用如下的方法实现数据的过滤。在ADOtable1的On Filter Record方法中写下:

Accept:=(条件);

然后ADOtable1.filtered:=true;为实现过滤。

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

5 总结

本文对于一般的数据库系统进行了概述,对于Delphi在其数据库应用中的地位进行了详细的分析。对最为关键的A-DO策略用例子详细地说明,可以充分地用来借鉴,用Delphi处理数据库,形象、方便,大大提高了编程的效率。

摘要:对Deiphi的BDE方法和ADO方法进行了对比,并以实例的方式对于ADO策略的ADOtable控件应用做了详细的说明,显示了Delphi数据库应用的强大功能。

关键词:Delphi,数据库,面向对象

参考文献

[1]萨师炕,王珊.数据库系统概论.第三版,高等教育出版社,1983.

[2]李新宇,郑丽群,吴志强.ORACLE分布式数据库及应用.计算机应用[J].2004;(22):71~91.

[3]周爱民.Delphi源代码分析.电子工业出版社,2004.

[4]叶核亚.Delphi程序设计,人民邮电出版社,2008.

Delphi论文致谢 第5篇

经过这段时间的毕业设计,通过自己的努力和×老师耐心的`指导,张老师认真地指引我们进行系统的设计操作及编程实现。使这次毕业论文能够顺利的完成。我衷心的感谢张老师孜孜不倦,不辞辛劳的教导,也感谢验收教师不怨其烦地批阅。Delphi新一代面向对象的可视化快速应用程序开发环境。将成为生产过程自动化和信息管理系统解决方案的重要方式之一。这不仅使生产过程自动化系统的结构大为简化,降低了系统设备成本,提高了系统的可靠性和可维护性。而随着生产过程自动化和信息管理软件功能的日益丰富和增强,可以在不影响硬件系统设备更改的情况下,方便的提高生产过程自动化和生产信息管理的应用水平。

此次毕业设计使我加深了对Dephi在多媒体、数据库、串口技术方面的认识,对于电学方面也有了一定的了解,在利用串口线连接设备方面也有了很大认识。

delphi数据库 第6篇

随着数据库技术在社会生活各方面的应用,数据库处理的数据种类也越来越丰富,包括对图像、视频、音频等多媒体数据的处理,本文主要针对图像数据进行处理。目前大多数的数据库系统对图像数据的处理都采用间接的存取方式,将图像存储在计算机指定目录下,在数据库中只存储数据图像文件的路径,这种操作方式造成数据存储的不同步性,从而带来数据的不安全性、不完整性以及管理的不方便性,并未真正实现图像数据的数据库存储[1]。基于数据库保存数据的一致性、对数据的优化以及数据的可用性等优点,将图像数据与其它数据一起保存到数据库是必然趋势,这将有利于数据的安全性和完整性,同时可以发挥数据库的数据复制、转移等强大功能[2]。

本文针对某针织企业信息管理系统中图像数据的存取问题进行了研究并给出一种设计方案,实现了该企业服装款式图像的数据库存储与读取,效果良好。

2 图像数据存取设计方案

据该针织企业的实际情况,要求存取服装款式图像的轮廓图,对图像的品质没有过高的要求,针对该需求本文给出一种设计方案,即将图像统一转换成便于存储、读取和传输的JPEG图像格式,并应用流技术将图像转换为二进制流存入数据库,浏览时从数据库中将流数据读出并用浮动窗口显示,具体过程如图1所示。

2.1 图像类型转换

图像类型转换是指BMP图像格式与JPEG图像格式之间的转换。BMP文件是一种位图格式文件,将图像中的像素值以二维像素矩阵的形式存储在文件中,除图像灰度可选外不采用其他任何压缩,因此占用空间较大,一般需要进行数据压缩。为了便于BMP文件的存储和网络传送,产生了其它种类繁多的文件格式如JPEG、GIF、TIFF等,其中目前最流行的是JPEG图像格式。JPEG格式的文件是一种平台独立格式,采用的是失真压缩格式,删除图像中重复或不重要的资料,压缩率高,图像被压缩后占存储空间小,但对色彩信息保留得较好,基本不影响视觉效果,可以满足不追求高品质图像的数据存储的要求。该针织企业规模大,服装款式图像数量庞大,因此要实现图像的管理就需要将图像统一为占用存储空间小的JPEG格式,便于存储与读取。

VCL(Visual Component Library)即可视化组件库,是Delphi在Windows平台开发的核心和灵魂,并且是完全面向对象、面向继承的。TObject是VCL所有类的基类,所具有的Create(),Free()方法分别用于为对象赋予和释放内存。TPersistent为TObject的继承类,提供了Assign方法,该方法允许一个组件将另外组件的相关数据赋给自己。而处理BMP、JPEG格式图像的类TJPEGImage继承于TGraphic类,而TGraphic类继承自TPersistent类,故可使用Assign方法来实现数据格式的转换。该方法的原型:

procedure Assign(Source:TPersistent);override;

其中,参数Source类型为TPersistent,该类型封装了一切可以被指定为其他对象的所有对象的基本行为。在TJPEGImage类中使用Assign方法,可以把Source对象中包含的图像信息写入TJPEGImage对象实例。

具体实现:Delphi对JPEG文件的操作是由JPEG单元的TJPEGImage类实现的,所以首先要在单元接口部分的uses语句中引用JPEG单元。用OpenDialog控件打开图像文件,然后取出文件扩展名来判断原始图像格式,若为BMP格式则用Assign方法将载入的位图数据复制到TJPEGImage实例中转换为JPEG格式;若为JPEG格式则不作处理;其它作为异常处理。

2.2 流技术

图像数据是一种特殊的数据形式,属BLOB数据(Binary Large Object,二进制大对象),在数据库中以不确定长度的二进制形式存储,因此对图像数据的操作也不同于对其他常规类型数据的操作,需要借助流技术来实现其存储与读取。

流是基于面向对象技术发展起来的,是面向对象中对象式数据管理的一个重要的类。简单的说,流就是建立在面向对象基础上的一种抽象的处理数据的工具。对象式数据管理包括两方面的内容:用对象管理数据和管理数据对象(包括对象和组件)。而流的基本操作也是基于这两方面的。流将对各种数据类型在各种媒介(包括Windows资源文件、磁盘文件、内存、外存和数据库字段等)中的管理操作抽象为对象方法,通过这些对象方法来管理数据。同时,流还对各种对象组件进行管理。在流中,定义了一些处理数据的基本操作,如读取数据、写入数据和数据定位等。流的操作原理是将各种数据对象抽象成二进制数据对象,并提供统一的接口来使用这些对象,从而使得可以方便地在不同的媒介中进行数据通信。

使用流的好处是,可以将处理某些数据(如某个对象中处理的数据)的输入输出定义成对流的操作。当想用对象传输数据时,只需要建立与数据来源相关联的流,然后通过流向对象传递数据;对于不同来源的数据,只要用不同类型的流传递即可,而不用修改对象中的任何代码。同样当想将对象的数据传递出来的时候,只需首先建立与数据保存方式相关联的流,再通过流将数据传递出来。程序员对流进行所有操作,而不用真正关心流的另一头数据的真正流向,大大简化了编程的复杂度,使得文件处理对于用户的透明度更高。流不但可以处理文件,还可以处理动态内存、网络数据等多种数据形式。在程序中利用流的方便性,可以大大提高编程的效率[3]。

Delphi提供了一个抽象的数据类型TStream来支持对字符或非字符等流数据的操作,这些数据通常来自文件、数据库、内存对象、OLE对象,包括图像、视频、音频等。TStream就像在内存中开辟的一个大小可变的临时缓存区,它不仅能方便地对外部文件进行读写,还可以将流中的全部数据直接存入数据库。在通常情况下,并不需要直接使用TStream类。TStream类有许多其他的派生类,对流式数据的读写封装在VCL控件的方法。TStream类有3个基本的派生类:TFileStream类、TStringStream类和TMemoryStream类,它们分别用于处理文件系统对象、内存中的字符串对象和内存缓冲区对象。由于内存流可以减少磁盘操作,大大提高运行效率,程序中的相关操作均使用TMemoryStream来实现。

TStream类提供了很多重要的方法和属性,但图形数据流的读写主要用到两个函数:

1)SaveToStream(Stream:TStream):将类中的数据写到Stream的当前位置中;

2)LoadFromStream(Stream:TStream):从当前位置读入Stream里的数据。

具体实现:1)图像数据存储:将经过类型转换的JPEG格式图像写到流中,然后用数据库中的BLOB数据字段来读入流中数据,实现图像数据的存储,具体过程如图2(a);2)图像数据显示:将数据库中BLOB数据写到流中,由TJPEG实例读入流数据,然后用浮动窗口显示,具体过程如图2(b)。

2.3 图像数据的显示

数据库的连接采用ADO(Active Date Object)方式,程序界面用DBGridEh作为数据控制组件来显示数据,由于界面限制没有足够的空间来显示每条记录的图像,因此采用浮动窗口实现动态显示,随着当前记录的改变定位实现相应款式图像的读取与显示。

具体实现:在ADOQuery的AfterScroll事件中用流读取图像到TJPEGImage实例中,然后用自定义函数ShowPic将图像以浮动窗口的形式显示在界面上。自定义函数ShowPic用于实现浮动窗口显示图像,首先需定义一个Pic为HintWindow作为浮动窗口,设定其坐标位置,并运用其Canvas属性画出JPEG格式图像且显示图像名称。

浮动窗口独立于界面,为使浮动窗口适时显示而不影响其他界面的显示,此处采用消息处理机制来控制该窗口的显示。运用Delphi提供的应用程序内部发送消息方式SendMessage()API函数给指定窗口发送消息,发送的消息直接进入TWinControl.MainWndProc来处理消息,当该界面处于活动状态则浮动窗口显示,否则隐藏。

3 结束语

作者鉴于以上设计方案并结合实际研究项目,在Windows环境下,以SQL Server 2005为数据库,采用Delphi7为开发语言研发了某针织企业的信息系统,其中有效地实现了服装款式图像的存储与读取,系统运行良好,验证了方案的实用性,效果如图3所示。

参考文献

[1]胡胜利,郑瑞娟.基于Delphi的数据库图形数据的管理[J].安徽理工大学学报(自然科学版),2006,26(4):72-75.

[2]沈洁.SQL Server存储图像数据的探索与实现[J].电脑知识与技术,2005(3):13-14.

[3]曹洋.Delphi7经典问题解析[M].北京:中国水利水电出版社,2003.

[4]萨师煊,王珊.数据库系统概论[M].3版.北京:高等教育出版社,2000.

[5]靳雁霞,陈学燕.大型数据库中图像数据的存储方法研究.计算机与现代化,2007(7):87-89.

delphi数据库 第7篇

1 与Sql2000数据服务器的连接

用Delphi7.0开发网络数据库程序时, 首先要解决的是与服务器的SQL2000数据管理系统进行连接, 然后才能对数据库进行操作, 下面是具体的连接方法:

在窗体中添加ADOConnection组件, 属性设置如下:

ADOConnection1-loginprompt-false

下面以sa为登录名进行连接master数据库为例, 代码如下:

运行结果如图1:

当完成与数据服务连接后, 就要进入数据操作主窗口, 对数据库中有关数据表进行操作。下面对数据库master中的数据表table1为例进行说明: (在第一项基础上进行)

1.1 在master数据库中创建数据表table1, 表的结构为

序号 (int, Null)

姓名 (varchar (10) , Null)

职务 (varchar (20) , Null)

1.2 在数据窗体中加入如下组件

3个dbedit和DBNavigator、ADOTable、Data Source各1个, 组件的属性按下列顺序依次设置:

然后在form2的onshow事件中写入如下代码:

运行结果如图2:

进入数据维护界面后, 即可以对数据表table1进行修改、增加、删除、浏览等操作。

2 通过查找关键字定位数据表中某个记录

在浏览数据表时, 有时需要数据维护人员迅速将数据以某个关键字定位在某个记录处, 方便地进行数据的有关维护, 会给数据操作员带来极大便利。下面以数据表table1的职务内容为关键字进行查找, 实现的方法如下:

在窗体中添加edit、adoquery组件。

运行结果如图3:

3 实现鼠标中间键对数据表格的正常滚动

我们在浏览数据时有时需要以表格的形式来进行方便的查看, 但我们用delphi创建数据表格后发现, 在表格使用中间键翻阅数据时并不象我们想像的那样能正常滚动到下一页面。下面的方法可以实现正常的中间键功能:

分别将dbgrid组件和additional中的组件Application Events添加到窗体上, 设置组件dbgrid1的属性:dbgrid1-datasource-DataSource1, 然后在组件Application Events1的On Message事件中写入如下代码:

试一试中间键是不是一切正常了?运行结果如图4:

以上有关代码在Delphi7.0和SQL2000下测试通过。

摘要:该文列出了Delphi7.0在SQL2000数据库开发中4项实用技巧, 使数据初始开发编程工作变得轻松方便, 给学习Delphi数据库开发程序员以一定的帮助。

delphi数据库 第8篇

1 程序设计思路

OleVariant是与Windows系统的是Ole软件进行软件调用、数据交换用的。OleVariant用于传递各种各样的数据, 如字符串、整数等等, OleVariant的类型定义包括一个数据类型字段, 指明数据的类型, OleVariant可以使String、Integer、float等, 也可以使array of OleVariant; 另外还有一个联合, 用于放数据。最常见的例子是, 在Delphi里调用MS Office里面的软件, 如Word、Execel等。这里面的数据类型基本上都需要使用OleVariant, 或者Variant。这里通过OleVariant对象来实现Access数据库的压缩和修复。

2 实现代码

下面参照以上的设计思路写的是一个压缩数据库的函数compressDB, 要让这段代码顺利编译 , 需要首先引用一下Co- mObj单元。

2.1 主要代码及注释

2.2 调用方法

compressDB ('db1.mdb') ;//数据库与执行程序在同一路径下

2.3程序运行效果

程序编译后, 执行程序运行效果如图2所示。

3 结语

Delphi实现Access数据库压缩可能有多重方法 , 这里使用的DAO对象, 另外网上说还有一个第三方的数据库驱动, 可以直接压缩, 有兴趣的可以Google一下, 一定可以找到满意的答案的。在压缩的过程中, 一定不要打开数据库, 否则会出错的。

delphi数据库 第9篇

讲座应用 的软件环 境 : Borland Delphi7.0、Rem Objects6.0.43.801和Microsoft Excel 2003。

ADO的全名是Active X Data Object ( Active X数据对象 ) 是一组优化的访问数据库的专用对象集, 它为用户提供了完整的站点数据库解决方案其他作用在服务器端, 通过执行SQL等命令, 让用户在浏览器画面中输入、更新和创建站点数据库的信息 。ADO是微软的 对计算机 数据接口 的一种标 准 , 象Microsoft的其它系 统接口一 样 , ADO是面向对 象的。它 是Microsoft全局数据访问 (UDA) 的一部分 ; Microsoft和其他数据库公司在它们的数据库和Microsoft的OLE数据库之间提供了一个" 桥" 程序, OLE数据库已经在使用ADO技术。

ADO主要包括Connection, Recordset和Command 3个对象, 它们的主要功能如下:

(1) Connection对象 : 负责打开或连接数据库文件。

(2) Recordset对象 : 存取数据库的内容。

(3) Command对象 : 对数据库下达行动查询指令 , 以及执行SQL Server的存储过程。

在这一讲中, 将揭示在Delphi中使用ADO是如何轻而易举 , 结合了ADO的Delphi应用程序 , 将不再依 赖于BDEADO是一组COM组件的集合 , 允许程序员利用利用少量的简单代码访问数据库。

ADO通常和OLEDB、Universal Data, Access以及Microsoft Data Access Components (MDAC) 联系在一起。OLEDB产生较ADO为早, 是后期各种技术的基础。

主要技术: ADO的精髓在于利用简单的COM指令来快速方便地访问ODBC数据源, 微软的表格、列表框等Active X控件使得用户可以简便地利用ADO工作; 向您展示了如何利用程序访问数据库, 将不采用任何可视化数据控件。

将向您展示如何利用Variant或interfaces访问和修改ADO数据库 , 示例程序 非常简单 , 首先新建 一个工程 文件 :procject.dpr, 单元文件为mainform.pas, 可运行于Delphi。

如果已经安装了ADO, 会在计算机中发现MSADO15.DLL( 在C:Program FilesCommon FilesSystemado目录 ) , 这个文件中包含了一个类库, 其中包括了利用ADO编程所需的全部接口和常量。

Setup1. 在Delphi中 , 选择菜单Project -> Import -> TypLibrary, 选择以上的DLL文件 , 添加进来后如图1所示的列表中就能找到Microsoft Active X Data Objects2.8 Library。

Setup2. 创建ADODB单元 : 选择图1中Create unit, 然后确定 , 系统生成 了一个基 于ADODB.DLL的ADODB_TLB.Pa文件, 这个文件中包含了所有Delphi ADO编程所需的声明。

Step 2, 创建数据 显示窗口 : 为了美化 客户端界 面 , 在Delphi环境中安装了第三方的Sui Pack.v6.5组件集合。然后在mainform.pas的窗体文件Form1上添加如下的Suipakc组件。

一个sui String Grid组件, 用于显示数据。

一个sui Form控件。

一个sui Page Control, 可类似Excel Sheet方式。

一个sui Edit控件, 用于编辑数据。

一个sui Radio Group控件, 用于数据的打开方式。

两个sui Button控件, 分别用于执行打开数据的命令和执行更新数据命令。

Step3. 设置系统ODBC数据源 : 其工作就是将Delphi示例数据库 中的Students.dbf设置为ODBC系统DSN, 其别名为DBDemos DBase, 驱动程序为Dbase 5。如图2所示。

然后就是声明几个必须的procedures:

procedure Open Interface (Sender:TObject) ; — ——以 interface方式打开数据。

procedure Open Variant (Sender:TObject) ;— ——以 variation 方式打开数据。

procedure Display ( Record Set: _Record Set) ;———在单元格中显示数据。

procedure Set Optimal Grid Cell Width (sg: Tsui String Grid; Exclude Columns: TExclude Columns) ;———自动调整单元格的宽度。

其他的过程和功能代码详见程序清单。

以下程序清单同时利用Variants和Interfaces访问ADO:

无论你用的是Variants还是Interfaces, 这段代码都将正常工作。

当你的数据集以可读写的方式打开时, 如ad Lock Optimistic方式, 就可以修改数据库的内容了:

Record Set.Fields[0].Value :=sui Edit1.Text;

Record Set.Update(Empty Param, Empty Param);

这段代码可以修改当前记录的内容。当然也可以利用字段数组以及Move方法修改任何记录。如果用的是Variants方式,可以不传递任何参数。程序执行的结果如图3所示。

在这个例子中, 采用了一种简单的方法来编辑表中的信息。如果用户在某一记录内容上单击, 其数值会显示于编辑框中。并通过更新按钮实现了简单的更新数据, 代码见相应部分。

在更新按钮的代码中仅有4行:

第一行将数据集指针移动到表格当前行, 第二行修改数据, 第三行提交修改。

最后一步将把数据集指针移动到第一条记录, 然后调用相应的过程代码显示修改后的数据库。

知识点回顾: 本次讲座利用Delphi7.0 ADO和ODBC技术实现不同方式读取常用数据库文件的技术途径, 一方面展示了ADO的功能和灵活性 , 另一方面通过将数据在String Grid中显示方法, 体现了Delphi在数据处理的优势。

delphi数据库 第10篇

随着计算机应用的普及和药品生产厂家对药品流通信息的重视,医药领域对信息及时性的要求也越来越高。现在药品生产厂家希望医药商业公司(即:药品的配送分销单位)每天上传自己生产药品的销售、购进及库存信息。通过对这些信息的分析及时了解市场的波动情况,在市场竞争中掌握主动。

近年许多医药商业公司通过本公司网站统一上传数据,由生产厂家访问网站进行下载接收。但生产厂家为更快速掌握信息,且按照厂家内部格式提交数据,就要求商业公司在本地生成所需数据。生产EXECL文件后再由生产厂家提供的上传工具逐一发送。对于医药商业公司来说,要实现此功能,就必须单独为生产厂家开发药品进、销、存数据信息系统。它的目标是在充分利用现有ERP数据基础上,为供应商按厂家进行药品分类,批量产生需要的数据信息,解决手工方式一个个药品单独提取的问题。

供应商进销存数据系统是在C/S架构下采用Delphi技术作为开发平台。因该数据系统要在公司内部数据提供部门使用,C/S架构相对于B/S架构具有界面丰富、安全性、响应迅速等优点。表1

2 具体实现方法

该系统的实现过程重点在于SQL数据库中存储过程的书写与Delphi中数据引出功能的设计。编程人员需要非常了解数据源,通过建立表间关联,从数据源中提取生产厂家的销售、购进及库存信息。利用Delphi软件编写数据引出功能,要对SaveDialog控件与SaveDBGridEhToExportFile函数有一定了解。下面介绍实现过程并重点介绍这两个关键问题的解决方法,以备大家参考。

1)建立生产厂家对应商品表,生成药品查询基础信息。

生产厂家对应商品表结构如表1。

ID_DW为生产厂家的单位内码,ID_SP为对应商品的商品内码。

通过对应表的设计,将生产厂家信息与商业公司内部流向信息一对多的进行关联。再运用Delphi工具开发前台界面,从备添加全部商品目录中选择厂家对应的商品并增加到厂家对应的商品目录表中,用户界面运行效果如图1。

2)在SQL中编写存储过程生成要查询的数据。

在SQL数据库中取出生产厂家的进销存数据,这三类数据需根据生产厂家的指定格式进行设计,现以某药品生产厂家为例,编写”生产厂家进销存”的存储过程。它通过@TYPE变量来控制提取数据的类型。执行三次该存储过程,依次产生销售数据、采购数据和库存数据,作为数据源引出。下面给出该存储过程的参考代码。

3)在Delphi开发平台上开发数据引出功能。

通过Delphi软件编写前台界面,依次执行该存储过程。得到厂家进销存数据后,通过Delphi开发工具进行数据引出。引出EX-CEL表格,再通过厂家提供的上传工具发送给生产厂家。数据引出代码如下,以备大家参考。

库存数据引出运行效果如如图2。

限于篇幅有限,这里不再将销售与采购数据引出执行的图片显示给大家。相信大家已经解决了这些基础问题,在此仅提供一种解决问题的思路。这些功能由程序员设计完成后,对操作人员的要求很低,只需打开程序对应好商品,再逐一取出,引出数据再上传就可以了。

3 结论

基于Delphi与SQL进行的开发,简便易行。各企业在ERP系统建设或内部数据信息挖掘中都可以作为开发工具进行应用。通过简洁的编程就很容易解决了日常工作中单调和繁杂的工作,更有效的提升工作效率。

参考文献

[1]求是科技.Delphi 7数据库开发技术与工程实践[M].北京:人民邮电出版社,2004:134-203.

[2]四维科技,刘山,赵辉.Delphi系统开发实例精粹[M].北京:人民邮电出版社,2005:165-252.

[3]肖桂东等.SQL Server疑难解析[M].北京:电子工业出版社,2003:89-114.

上一篇:妇科腹部手术下一篇:农网升级改造施工管理