利用Delphi技术构建Cutter著者号码查询系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

收稿日期:2005—07—11

作者简介:苏婉莹,现在西安交通大学图书馆工作。

利用Delphi 技术构建Cutter 著者号码查询系统

苏婉莹

(西安交通大学,西安710049)

〔摘

要〕

本文介绍了Delphi 技术的基本概念、主要特性和标准对象,并结合本馆自建数据库实例,简要分析了Delphi 编程的基本步骤,从而论述了Delphi 技术在图书馆工作中的广泛应用。

〔关键词〕

Delphi ;数据库;编目工作

〔Abstract 〕The basic concept ,main character and the standard object of Delphi are introduced in this paper.

Combining with the database establishing of our library ,the basic processing of Delphi programming is analyzed.It is demonstrated that Delphi can be extensive applied in the management of libraries.

〔Key words 〕

Delphi ;database ;cataloguing

〔中图分类号〕G254.131

〔文献标识码〕C

〔文章编号〕1008-0821(2006)01-0173-02

随着电子时代的来临,图书馆发生了天翻地覆的变化。计算机数字化技术的发展为图书自动化管理提供了可靠的保障。在自动化技术全面普及的今天,各馆均已采用计算机编目,使手工操作转为高速度、高效率、大容量的自动化程序管理,从而大大提高了分类编目工作的速度和效率,减轻了分编人员手工劳作之苦,加大了管理的力度。本文主要介绍我馆编目中心自己动手开发“Cutter 著者号码查询系统”的过程。希望能给大家一点启发。

1设计背景

我馆西文图书分类排架一直采用的是Cutter 著者号码

表。西文编目著者号选取分两个部分进行,首先要按作者姓,在Cutter 著者号码表中选取相应的著者号码,前边冠以作者姓的首字母作为著者号;其次要用分类号查重,如果系统中已有相同的索书号,就要在著者号后用英文字母加以区分。编目工作中西文图书著者号的选取还一直需要手工查询,系统不能提供自动查询,而且多名编目员同时工作时,不可避免的会出现重号问题。

目前,国内这方面的软件不多,个别馆开发的几个界面也不很友好,且和我馆的实际情况不匹配,鉴于此,我们很有必要自己动手开发一个辅助系统实现自动查询,并且彻底避免多人同时取号时的重号问题。所以就利用Del-phi 技术构建了“Cutter 著者号码查询系统”

。2设计前的准备工作

2.1

分析应用程序要完成的功能

跟编目员尽可能多的交流,充分了解他们的功能需求。

“Cutter 著者号码查询系统”所要完成的最基本的功能就是著者号码的查询和索书号的查重功能。2.1.1著者号码查询功能

输入著者姓,查询到对应的著者号码,生成相应的著

者号。2.1.2

索书号的查重功能

输入索书号查重,如果没有,需要新增,如果已有,

要追加区分号,可以修改、删除。

根据上面分析,可以将系统功能划分为2个模块:著者号码查询模块和索书号的查重模块。

2.2

建立数据库

2.2.1

数据库的选择

“Cutter 著者号码查询系统”是一个比较小的应用系统,它产生和处理的数据量也比较小,因此没有必要使用像SQL Server 和Oracle 这样的大型数据库。Microsoft Office 中的Access 数据库在计算机上的应用比较普及,是开发小型数据库系统的比较理想的选择。所以选择Microsoft 办公产品套件中的Access 组件建立数据库,并创建一个名字为Cutter 的数据库。2.2.2

数据库结构设计

根据系统功能需求,在Cutter 数据库中著者号码和索书号应该分别对应一个表。著者号码的信息有著者姓、号码,索书号的信息有索书号、顺序号。

表1

著者号码表的基本信息

字段名称数据类型默认值

取值范围说

著者姓Char

(20)非空主关键字

Int

非空

表2索书号表的基本信息

字段名称数据类型默认值取值范围说

索书号Char (20)非空

分类号和著者号组合

号Char (10)

识别号

设计好表的结构以后,就可以在Microsoft Access 中正式创建Cutter 数据库。这里

就不具体讲述数据库的制作过

程。

2006年1月第1期January .2006

No.1

作研究

3应用程序设计3.1

用户界面设计

创建了数据库以后,我们就可以进行下一步的工作,

即设计用户界面。我们将程序窗体分为4个部分:如图1所示:

登录窗体主窗体

著者号窗体

索书号窗体

图1

设计窗体仅以著者号窗体为例:新建一个窗体,添加自己需要的GroupBox1控件、Label 控件、Button 控件、Edit 控件、DBGrid 控件、DBNavigator 控件,DataSource 组件以及Table 组件,并且设置控制属性,完成第一部分的功能。窗体的设计,可根据个人的喜好,给予不同的风格。详细的属性设置略。如图2所示。

图2

3.2建立数据库连接

在Delphi 中可以通过OBDC 、BDE 、ADO 、DBExpress 和

IBX 连接数据库。本程序主要应用到了OBDC 连接和ADO 连接。

著者号查询模块用的是OBDC 连接,索书号查询模块用的是ADO 连接。因为著者号查询模块主要针对的是著者号码表的查询,并且不作修改添加等等工作。著者号码表是不可更改的。为了使用安全快捷,利用ODBC 访问本地机的cutter 数据库中的著者号码表。

索书号查询模块要保证多人同时快捷访问服务器上的cutter 数据库中的索书号表,采用ADO 连接技术。

3.3创建ODBC

在Delphi 中,访问数据的基本单元是数据集对象。应

用程序正是提供数据集组件来访问数据库的。一个数据集对象就代表了数据库的一张表格。或者是访问数据库的一个查询或存储的过程。Ttable 组件是开发数据库应用程序中的最常用组件,也是最重要的组件之一,一个Ttable 对象对应数据库中的一张表。

利用Ttable 组件访问数据表,首先需要确认在ODBC 数据源已经建立,这就需要在“控制面板”中的ODBC 数据源管理器中创建“Cutter ”数据源,并且可以成功的连接到数据库中。

3.4

设置组件属性

TdataSource 组件提供了联系数据集组件与TdbGird 组件

的纽带。通过TdataSource 组件,数据控制组件可以显示、浏览及修改数据集中的数据。应用程序要在数据控制组件中对数据集中的数据进行浏览和操作,数据集必须和数据源组件(Datasource )相联系。同样,数据控制组件也必须和数据源组件相联系才能从数据集中取得数据,在数据控制组件中显示数据,并对数据进行相应操作。

在著者号码查询模块中,各个组件属性具体如下:3.4.1DataSource 组件的Name 属性设置为:

“DataSource1”;Dateset 属性设置为:

“Table1”,和Table 组件关联。3.4.2

Table 组件中的Name 属性为“Table1”

;DatabaseName 属性设置为“cutter ”;TableName 设置成自己要选择的数据表“著者号码”;Active 属性设置为:“Ture ”。3.4.3DBGrid 组件的Name 属性为“DBGrid1”

;DataSource 属性为“DataSource1”。3.4.4

DBEdit 组件的Name 属性为“DBEdit ”

;DataSource 属性为“DataSource1”。

索书号查询模块中各个组件的属性设置这里就不再赘述。

3.5

添加事件代码

做完以上各步骤以后,就要给各个按钮添加OnCreate

事件代码了,也就是自己要添加的程序。还是以著者号码查询模块为例,讲述事件代码的添加。

给著者号码查询窗体中的“查询”按钮的添加如下OnCreate 事件代码:

procedure Tchaxun _Form2.btn _

findkeyClick (Sender :TObject );begin

with Table1do begin

if IndexFieldNames =”then IndexFieldNames :=‘著者名’;if FindKey ([Edit1.Text ])then

edit2.Text :=Edit1.Text [1]+DBedit.text else begin

FindNearest ([Edit1.Text ]);prior ;

edit2.Text :=‘模糊结果’+‘’+Edit1.Text

[1]

+DBed-it.text ;

end ;end ;end ;

(下转第179页)

2006年1月

第1期January .2006

No.1

作研究

相关文档
最新文档