如何直接打开Database File数据库文件

如何直接打开Database File数据库文件,第1张

1、首先双击打开SQLiteSpy应用程序

2、然后点击打开File——Open DataBase选项,

3、然后找到要打开的db数据库文件,点击打开。

4、然后这样数据库就打开了,可以看到左侧表。

5、然后右键点击一个表——Show Data。

6、然后右侧则会显示表数据。

目 录

图书管理信息系统的设计和实现

端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的数据库。而对于后者则要求应用程序功能完备,易使用等特点。

图书管理信息系统是利用计算机管理信息处理的迅速、准确、可靠且具有强大存储能力的突出特点,全面提高图书馆的管理水平和工作效率,并以及时、完整的业务经营资料,为图书馆的及时转换提供一定的支持。本图书管理系统涵盖了六个主要的子系统:图书资料管理、读者资料管理、借书 *** 作、还书 *** 作、修改密码和查询处理,并通过信息的收集、整理、存储、传递将它们有机地结合起来,提高了工作的准确率和效率。

本论文从系统分析、需求分析、概要分析、详细分析到系统实施、系统运行、系统维护等几个方面详细阐述了图书管理系统的开发过程,记录了开发过程中的分析依据和设计思路及相关图表,阐明了主要的设计内容和实施、运行情况,为本系统的使用、升级提供了完备的资料。

本系统开发时间将近四个月,初步完成了图书管理信息系统的初级版本,系统基本上实现了原定的基本功能,并将在以后进行陆续的改进和完善。

关键词:Delphi;SQL Server 2000;数据库;图书管理信息系统

Design And Implementation of The Books Management Information System

Abstract:The books management information system is the typical information management system (MIS), It mainly develops including two respects ,one is setting-up and maintenance of backstage supporter's database Another is developing the front application program As to the former demand set up data consistency , integrality strong and data security kind databaserequire to the latter the function of the application program is complete , Easy to use and so on the characteristic

This books management information system is using the computer management information processing rapid, accurate, is reliable also has the formidable memory property the prominent characteristic, comprehensively enhances the library the management level and the working efficiency, and take the prompt integrity account executive material, provides the certain support for newer books and reference materials in time of the library The books management information system has covered six subsystems: The books and reference materials management, the reader material management, taking advantage of the book operation, modify password and also the book operation, inquiry processing, and through the information collection, the reorganization, the memory, the transmission organically unifies them, enhanced the work rate of accuracy and the efficiency

This thesis from the system analysis, the demand analysis, the outline analysis, the multianalysis to the system implementation, the system movement, the system maintenance and so on several aspects in detail elaborated the books management information system performance history, recorded in the performance history analysis to rest on and to design the mentality and the correlation graph, had expounded the main design content and the implementation, the movement situation, for this system use, the promotion have provided the complete material

This system is nearly four months construction period, finished the elementary edition of the books administrative system tentatively, the system has basically realized the original basic function, and will carry on improvement and completion successively afterwards

Keyword: Delphi ; SQL; database; books management information system

前 言

随着我国经济的高速发展,人们的物质需求已趋向饱和,而精神上的需求却日益提高。学习的繁重、工作的压力、竞争的刺激使人们感到知识的困乏,渴望进一步的充电。同时当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,正是因此计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。管理信息系统是先进的科学技术和现代管理相结合的产物,建立以计算机为主要手段的管理信息系统,已成为现代企业、政府部门等各类组织提高自身素质、实现组织的战略目标。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。

为满足图书馆业务发展的需要,提高竞争能力,我决定利用计算机来提高图书馆管理水平和工作效率。根据图书馆的日常需要,确定系统要实现六个基本功能:图书资料管理、读者资料管理、借书 *** 作、还书 *** 作、修改密码和查询处理。同时该系统具有强大的查询功能和可靠性。

目标是努力达到:读者满意。图书馆内藏书丰富,品种齐全,但随着信息处理量的快速增大,工作越来越繁多、要求全面、先进、高效。纯办公软件无论从准确度还是及时性上都已无法满足业务的需要。因此,开发一个界面友好,易于 *** 作的图书馆软件进行自动化处理变得十分重要,本系统开发目的和意义就是为了管理好图书馆信息,使图书管理工作规范化、系统化、程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。此图书管理信息系统以“以人为本”为服务宗旨,提高对读者的服务质量。

1 Delphi和SQL简介

11 数据库的介绍

数据库技术是计算机科学技术中的重要领域,也是应用最广的技术之一,而且已经成为电子信息系统的重要核心技术。众所周知,计算机应用从科学计算进入数据处理是一个划时代的转折。数据处理是指对各种形式的数据进行收集、存储、加工和传播的一系列活动的总和。其目的是从大量的,原始的数据中抽取,推导出对人们有价值的信息经作为行动和决策的依据,是为了借助计算机科学地保存和管理复杂的,大量的数据以便人们能方便而充分地利用这些宝贵的信息资源。数据库技术所研究的问题就是如何科学地组织和存储数据,如何高效地获取和处理数据。数据库系统就是当代计算机系统的重要组成部分。

数据处理的中心问题是数据管理,数据管理随着计算机硬件和软件的发展而不断发展,经历了三个阶段:人工管理阶段,文件系统阶段和数据库系统阶段。数据库系统具有以下特点:(1)数据结构化。(2)数据的共享性高、冗余度低、易扩展。(3)数据独立性高。(4)数据由DBMS统一管理和控制。包括数据的安全性保护,数据的完整性检查,并发控制以及数据库备份和恢复[2]。我做的图书管理系统中主要是用了Delphi和SQL 。

12 Delphi的简介

计算机软件的开发分为两个不同的分支,其中一个分支是使用传统的程序设计语言开发数值控制、数值运算等软件,围绕它们的重点是算法,数据结构以及面向对象技术,这里基本采用Pascal,Basic和C等到高级程序设计语言。另一个分支则是通用的数据库管理软件领域即数据库应用程序的开发。这两个分支的发展都有极为迅速,但是二者并没出现混合渗透的迹象。如果使用数据库语言进行传统的编程,虽然也能完成相应的功能,但是其编程过程可能极为复杂。反之,如果使用传统的编程语言进行数据库编程,通过调用专用的数据库应用程序接口函数据和过程,可能也会做出比较完善的数据库管理程序,但做起来大多是极其困难的。而Delphi结合了两个分支的优点,它结合了传统的编程语言Object Pascal和数据库语言的强大功能,既可以用于传统的算法编程,又可以用于数据库编程。特别是Delphi具有强大的数据库开发功能,利用Delphi的数据库开发工具,根本不需要编写任何Object Pascal代码便可以创建一个一般的数据库应用。

Delphi是面向对象的开发工具,它是目前开发客户/服务器数据库应用程序的强有力的工具。Delphi目前有两个版本:标准版本和客户/服务器版本。标准版本包含一个Borland Database Engine的局部拷贝,它允许用户创建能访问Dbase,Paradox 和 Local Inter Base服务器的数据库应用,它还支持具有ODBC(Open Database Connecticity)接口的数据库。客户/服务器版本包括Borland SQL Link,它能直接访问Oracle,SyBase 和Microsoft SQL Server,Informix等多种数据库服务器。

Delphi可以访问多种数据库管理系统的数据库,凭借窗体和报表,BDE(Borland Database Engine)可以访问Paradox,dbase,本地Inter Base服务器的数据库,也可以访问远程数据库服务器的

2 系统分析

21 系统调查

系统调查的主要内容有:系统的基本情况、系统中信息处理的状况、系统的资源情况及系统的各类人员对信息系统的态度。同时我了解到图书馆的使用人员有(1)系统管理员:维护整个系统的正常运行、及时更新系统,给每个新用户建立读者信息,给每个注销用户删除相应的读者信息。(2)图书管理员:负责给同学办理借书、还书、修改图书基本信息和图书流通状态。(3)读者:包括学生用户、老师用户和外界人士。

图书馆的组织机构设置如图1所示。

图1图书馆的组织结构

系统中信息处理状况:

通过对原有系统数据流程的分析,可以发现这种模式存在着一些不合理之处,完全可以改进,使工作效率提高,减少信息迂回。

图书馆现行系统存在的问题:第一,日常管理工作缺乏规范性,随意性很大,对人的经验水平有很大的依赖性,因此具体 *** 作往往因人而异;第二,资料多次手工处理,如逾期通知等,出错率高,完全可以用数据库检索自动生成。第三,数据重复率高,有些地方人员多次使用相同数据,有些信息完全可以归类,第四,缺乏统计工作。

所以完全可以通过建立一套完整的图书管理信息系统,来对信息进行查询、修改、统计、检索等日常管理工作,尽量减少的人员介入和数据冗余,以简练实用为基础,实现信息管理计算机化提高工作效率和信息化水平。

22 可行性分析

可行性分析对系统的开发至关重要,可以大幅减少不必要的损失,保证系统开发的顺利进行。因此要对系统进行技术可行性、经济可行性、 *** 作可行性三方面的系统可行性分析:

221 技术可行性

近几年来计算机技术发展异常迅猛,高速度大容量的电脑已成为许多学校里日常工作必不可少的设备,随着办公自动化的软件不断涌现,微机的普及为该系统的开发奠定了坚实的基础。

222 经济可行性

一方面,系统的开发不需要额外增加设备购置费、软件开发费、管理和维护费用。另一方面,系统的开发可以较好地解决图书馆因日常事务繁杂而造成的处理效率低,出错率偏高的局面,并可以及时了解各项日常事务的进展情况,为及时调整库存资料提供可靠的数据支持,从而明确工作目标,同时还可以减少人工劳动、提高工作效率、增加书本流通量。

223 *** 作可行性

计算机以强大的信息处理能力作为人类脑力劳动的有利助手登上历史舞台后,已渗透到社会生活的各个领域,使现代社会组织、特别是企业,学校的信息处理能力适应现代化管理的要求,且系统逐步从单项事务信息处理系统迅速向综合服务(决策支持系统)的管理信息系统发展。本系统使用界面良好,易于 *** 作。图书馆拥有一批较高素质的员工,只需了解相关知识,就可熟练 *** 作本系统了。

通过以上分析,图书馆管理信息系统的开发在经济上、技术上、 *** 作上都是可行的。

23 系统的总目标

图书馆管理信息系统的总目标是按照管理信息系统的管理和开发方法,采用先进的信息技术和手段,支持并规范图书和读者资料的管理、借书、还书、修改密码、查询书本或学生等 *** 作的全过程,并加强上述过程中各种信息资源的管理和应用,提高各部门管理工作的现代化水平,实现各部门信息的准确、及时处理和沟通及共享,为图书馆对库存资料的决策提供有利的支持和反馈信息,以实现图书馆的总体目标。

24 具体目标

(1)每年开学,新生报到的时候,图书馆系统管理员要给每一位新生的信息建立个人档案,办理图书借阅证。学生的个人档案包括学生的学号、姓名、性别、班级、年级、所属专业、电话号码。

(2)学生毕业的时候,图书馆系统管理员要及时对每位学生的信息进行删除。

(3)每次新进图书的时候,图书管理员要对每本图书的信息进行管理和录入,以方便读者的借阅。图书的基本信息有:图书索引号、图书名、作者、出版社、出版日期和图书的使用状态。

(4)当图书被读者借阅的时候,图书管理员要改变图书的使用状态,不再允许借阅,但是允许预约,而且每本书只允许被一个读者借阅,也只能被一个读者预约。

(5)当学生借阅的图书延期的时候,图书管理员要及时通知学生归还图书,并对其进行相应的处罚。学生可以在图书未超期的情况下办理续借。

(6)学生可以在图书管理系统中查询自己的借阅情况。

(7)当图书被损坏或图书出馆时,图书管理员要及时修改相应的图书信息。

(8)系统还应该提供强大的数据统计,查询等功能。

(9)系统应充许外界人士通过规定的步骤注册成为新用户,并享有一定的权利。

(10)系统应该有很好的可扩展性。

3 需求分析

需求分析阶段的根本任务是要明确图书馆在决策和日常事务处理上的信息需求,以便提出整个系统的总体方案。在需求分析中,主要采用流程图和数据字典来描述。

31 事务流程图

通过对图书馆的多次调查,大致了解了图书馆的日常的管理事务流程。每日处理的工作如图2所示。

图2图书馆的事务图

(1) 图书资料的管理

图书管理员将采购的图书入库分类处理,同时建立相关的图书资料信息,如果该书已有,则修改现有书本数等于原有书本数加新增书本数。如有图书损坏及罚款处理,也修改图书资料信息。如果图书出馆,则删除相关的图书资料信息。

(2) 读者资料管理

每年新生入校的时候,系统管理员要为每一个学生办理相应的图书借阅许可证,学生填写登记表包括学生学号、姓名、性别、年级、班级、专业名称、电话号码等基本信息。核对无误后交由系统管理员办理学生借阅证,如果读者更改任何个人信息,则应由学生写出书面申请,由系统管理员在相应的读者基本信息中进行修改。如果学生要离开学校,则审核该读者是否有逾期书籍和损坏,如无,则办理撤消业务,同时在读者资料库中删除该读者。最后给读者合格注销通知。对于教师用户也是一样的处理过程。

(3) 借书 *** 作

读者把借阅证及想要借的图书交给图书管理员,图书管理员进行审核,如该读者是否有过期未还的图书,是否借阅图书已超过五本或未交清罚款,有上述情况之一则通知该读者借阅不成功。否则借阅成功,图书交给读者。同时图书管理员修改图书、读者及图书流通信息表。如读者逾期则可电话联系。如读者发现该图书已借出,则只可在图书资料库中进行预约。一本书同一时间只能被一个读者预约。如读者续借,则延长读者应还书日期。读者只可在该书本尚未超期的情况下才可以进行续借,否则续借不成功。

(4) 还书 *** 作

读者把借阅证及要还图书交给图书管理员,由他进行审核,如该图书有逾期或破损,则通知该读者按比例罚款。否则图书交图书管理员放回书库。并修改图书、读者借书信息表。读者遗失书本则给予原价五倍赔偿。

(5) 查询处理

读者可以到图书馆内的电脑上查询自己的借书信息表,查询图书是否逾期,是否可以进行续借,也可以查找自己要借的图书是否在馆,以及近期图书馆的动态和公告。图书管理员可在图书到期前一天打印逾期清单,电话联系读者,以方便读者及时还书,加快书本流通。

(6) 修改密码

为了方便管理,图书馆系统管理员会给每一个新注册的用户一个初始密码,读者用初始密码首次登录系统后,应及时修改自己的密码,以保护自己的权利。或在使用的过程中通过修改密码来防

D1 库存清单

图7 归还图书的DFD

33 数据字典

int 4 f 所在专业代码

varchar 20 专业名称

表3图书基本信息表

字段名 字段类型 长度 NULL 字段意义

bookid varchar 10 f 图书索引号

bookname varchar 30 f 图书名称

Autor char 10 f 作者名字

department Int 4 所在书库代码

description char 20 描述

Lend char 1 f 是否借出

appoint char 1 f 是否预约

表4学生基本信息

userid varchar 10 f 用户编号

username varchar 10 f 用户名

sdepartment char 30 部门或专业

password varchar 20 f 密码

Right_1 bit 1 f 查询权

Ringht_2 bit 1 f 管理权

表6库存信息表

字段名 字段类型 长度 NULL 字段意义

department int 4 f 书库代码

description varchar 20 书库名称

34 数据项的页码设计

(1)对读者编号,为了便于查找采用层次码。

如:02(年级,即入学年份) 09(学院代码) 1(专业代码) 279

[注]: 学院代码如:商学院---01 信息学院---02 土木学院---03

外语学院---04 艺术学院---05 计算机科学与工程学院---09

计算机科学与工程学院的专业代码如:计算机科学与技术专业---1

网络专业---2

(2)图书编号,为了便于得到有关信息采用层次码。

如:TP(类别) 3111(编号) 01(内部编号)

[注]: 内部编号:同时采购了五本相同的图书,在类别和编号相同的时候,用01,02,03,04,05分别代表这五本相同的图书。

编号: 计算机应用基础---3111 计算机网络---3112

计算机组成原理---3113 数据库---3114

类别: 计算机类--- TP 文学类--- I 艺术类---V

数理化---O 英语类---H

4 概要设计

41 总体设计

系统功能结构如图8所示。

图8系统功能结构示意图

42 局部 E_R图

学生基本信息,图书基本信息,用户信息和读者借书情况表的局部E-R图如图9至图12所示。

图10书本基本信息表

图12 读者借书信息表

43 总体E-R图

本图书管理信息系统的总体E-R图如图13所示。

图13 总体E-R图

部分联系的属性如下:

1.借阅{借阅编号、图书索引号、借阅证号、借书日期、还书日期}

2.预订{预订编号、图书索引号、借阅证号、预订日期}

3.采购{采购编号、图书索引号、采购价格、采购数量}

4.报废{图书索引号,报废时间,报废原因}

44 E_R图向关系模型的转化

E_R图向关系模型的转化要解决的问题是如何将实体和实体之间的联系转化为关系模式,如何

图15 修改图书记录

图16 修改学生记录

图17 查询/借阅/预约图书

图18 查询/归还已借阅图书

52 建立索引和嵌套查询

索引是数据库中一常用而重要的数据库对象集。索引改进了数据库的性能和可访问性,可以用来排序和快速访问数据。大大改善了数据库的性能。下面以本人的图书管理信息系统中的book表为被借出时不能被预约。

(8) 修改图书的基本信息

这是图书管理员的权力,包括添加,删除和修改图书信息。当有新添加进来的图书时,图书管理员要查看图书馆里是不是已存有这样的图书,发现已有库存时,要修改图书的数目,否则就加入新的图书信息。当有旧书或损坏了的图书要退出的时候,要及时减少相应图书的数目或是删除相应的图书信息。学生借出书或归还图书时,要及时地修改图书流通信息表。

(9) 修改学生用户的基本信息

系统管理员在这里添加,删除和修改学生和教师的基本信息。当有新生入校时,根据学生填写的基本信息表为每个新生注册一个用户名,在校期间如果学生基本信息有变化可以交系统管理员审核后修改相应的信息,毕业或注销用户时,管理员要及时删除相应的记录。教师的处理情况相同。

(10)初始化系统

当遇到不可恢复的重大意外损伤时系统管理员可以用它来重新恢复图书馆的基本信息,保证图书管理系统正常工作。除了用户信息表恢复初始值外,其它的数据信息都会被清零。

(11) 公告栏

系统管理员向所有登录用户和外界人士及时发布图书馆最新消息的地方,包括注意事项等。

(12) 意见箱

所有登录用户可以在这里向系统管理员和图书管理员提出对图书管理的宝贵意见,方便管理员及时采取相应措施修改管理方案,方便用户以后的使用,提高整个系统的性能。

本系统主要提供图书管理,学生用户管理和系统管理。以下列出了图书管理信息系统主模块,系统总体结构、图书/读者功能模块和图书流通功能模块的示意图如图19至图21所示。

图19系统总体结构

图20图书/读者功能模块

图21图书流通功能模块

55 界面设计及功能实现

551 登录界面设计及功能的实现

图22 登录界面

数据库窗体专家和数据库 *** 作台(DBD)

Delphi为用户开发简单的数据库应用程序提供了一个开发工具叫做 数据库窗体专家 (Database Form Expert) 在Delphi系统菜单Tool菜单下可以找到

数据库窗体专家能够自动生成简单的数据库应用程序中所必须完成的许多任务 它还可以生成基于单个数据库表的应用程序窗体或基于主要──明细型多个数据库表的应用程序窗体 数据库窗体专家能够自动完成的任务如下

● 放置数据库部件到窗体中(TDataSource部件)

● 为数据集部件(TTable TQuery)和磁盘上的数据库建立连接

● 建立数据源(TDataSource)与数据控制部件的连接 数据源(TDataSource)与 数据访问部件(TTable TQuery)的连接

● 为TQuery部件编写SQL语句

● 为窗体中的部件定义Tab顺序

数据库 *** 作台(DBD)是数据库维护和数据定义工具 程序设计人员利用它可以查询 连接 建立 重构 索引 修改和拷贝数据库表 包括Pà€aradox和dBASE文件和基于 SQL语言的数据库表 而且在使用DBD *** 作Paradox或dBASE的表时 用户不必拥有 Paradox 或dBASE数据库管理系统 DBD还可以把一种格式的数据和数据字典拷贝成另一种格式 例如 你可以将一个dBASE的表拷贝到远程的SQL服务器上的一个数据库中去 有关DBD详细描述 请参看 数据库 *** 作台(DBD)的使用

Delphi数据库应用程序的开发方法和步骤

概述

用Derphi用开数据库应用程序 虽然与开发其他应用程序有相似之处 但是也有一些重要的区别 我们必须要加以注意

利用Delphi的客户/服务器功能 程序设计者可以在本地数据库上或远程数据库服务器上开发客户/服务器模式的应用程序 Delphi 的一个强有力的功能之一是可以将基于本地桌面数据库系统的应用程序很容易地修改成客户/服务器模式的应用 一个Delphi 数据库应用程序访问的是本地数据库还是远程SQL数据库服务器上的数据库 这对于最终用户是完全透明的 即数据库的物理位置对最终用户是透明的 当数据库的物理位置发生变化时 用户界面不必随之变化

因为数据库应用程序的是依赖于它所访问的数据库的 所以在开发数据库应用程序之前必须要建立一个完善的数据库即数据定义 数据定义应当是开发数据库应用程序的一部分 但它超出了书本的范围 有关数据定义的内容 请参看关系数据库设计方面的资料 在我们用Derphi开发一个数据库应用程序时 可能有下列四种情况

数据库不存在或者必须要重新定义 使用DBD为本地数据库定义Paradox或dBASE 数据库表 使用Delphi提供的服务器开发工具如Windows ISQL或DBD定义本地或远程SQL数据库务器上的数据库

数据库在桌面数据库系统中或局域网上(如Paradox或dBASE) 而且BDE 数据库和应用程序在同一台机器上 这是典型的独立应用

数据库在桌面数据库系统中 但是用户要把它改变到SQL数据库服务器中去 这种情况我们在附录C中详细讨论

数据库在SQL数据库服务器中 而且应用程序将到SQL数据库服务器中去访问数据库 这是一个标准的客户/服务器应用

有关开发客户/服务器应用程序的详细内容 参看 客户/服务器应用 一章

数据库应用程序的开发步骤

数据库应用程序的最终目标就是为用户提供一个满足其长期需要的软件产品 因此 成功地开发一个数据库应用程序的关键之一是要详细地定义用户的需求 然后再围绕用户的需求进行开发 数据库应用程序的一般开发的三个基本步骤如下

● 系统设计

● 系统实现

● 系统运行和维护

在这个三个基本步骤中 都包含着数据库的开发和应用程序界面的开发两大类任务 对于一个客户/服务器模式的应用 数据库和应用界面的区别就更明显一些 因为它们运行在不同的平台之上 而且使用的 *** 作系统都常常不一样 如(一个Unix环境的服务器和Windows环境的客户机)

系统设计

系统设计阶段应当根据用户的需求 明确地描述数据库(数据库服务器端)和应用界面(客户机端)实现的功能 即决定哪些功能由服务器端实现 哪些功能由客户机端实现 对于客户/服务器应用程序 许多功能既可以在服务器端实现又可以在客户端实现的 例如一个复杂的数学变换功能既可以由客户端的应用程序实现 也可以由服务器端的存贮过程实现 服务器和客户端应用程序功能的划分往往取决于应用程序运行的硬件环境 例如 如果客户端是低档的PC机 服务器端是高档的工作站 那么大量的计算由服务器完成是比较理想的

系统实现

系统实现阶段的主要任务是使用Delphi提供的工具和部件以及Pascal语言实现系统设计阶段的设想 并进行调试

在系统实现阶段 最好使用数据库的一个备份数据库 这个备份的数据库与原数据库具有相同的结构 但其中的数据库只是原数据库中的一部分 至所以不在原数据库上开发应用程序 是因为考虑到没有调试好的应用程序可能会破坏数据库中的数据或者妨碍数据库的正常 *** 作

如果应用程序是基于远程SQL数据库服务器的 在系统实现阶段可以采用两种方法

● 在本地InterBase服务器上 使用数据库的备份数据库进行开发和调试

● 在远程服务器上 使用数据库的备份数据库进行开发和调试

第一种方法优越性在于 它是独立于服务器的 而不至于影响服务器的其它的 *** 作 而且不消耗服务器的资源不增加网络的负担 它的不利的方面是开发出来的应用程序只能在标准的SQL服务器上使用和调试 第二种方法能够使程序设计人员直接感受到服务器的特性 但它在调试阶段要消耗网络和服务器的资源 这种方法具有一定的危险性 程序中的错误可能会导致服务器的瘫痪

系统运行和维护

一个应用系统性能的优劣 效率的高低始终应当由用户来做出判决 应用程序在运行过程中 用户会提出一些新的需求和建议 根据用户需求的变化 应当对应用程序做一定的修改 使其进一步地得到完善和提高

交付数据库应用程序

交付数据库应用程序意味着将它交付给最终用户 并且提供应用程序运行所需的软件 非数据库应用程序往往只需要一个EXE文件 而数据库应用程序要包括下列几类文件

● 数据库应用程序生成的EXE文件和DLL文件(如果有的话)

● 必要的辅助文件(如Readme文件或HLP联机帮助文件)

● 支持访问数据库的BDE 有时也称为IDAPI

● 用于打印输出报表的ReportSmith报表工具

● 如果应用中使用了VBX控件 还要包括VBX和BIVBXII DLL

安装BDE

在交付数据库应用程序时 必须同时在运行应用程序的机器上安装BDE Delphi 本身包含可再安装的BDE 在准备数据库应用程序安装盘时 同时从Delphi中复制一份BDE 到最终用户的机器中 BDE中包含访问多种数据库系统的驱动程序 为了节省磁盘空间 在安装BDE时 可以只安装应用程序必须的驱动程序 例如 如果我们的应用程序只需要访问dBASE数据库文件 那么在安装BDE时 只需安装dBASE的驱动程序就行了 要访问Paradox数据库 BDE至少需要 KB的磁盘空间 BDE主要包括下列文件 请参看DEPLOY TXT文件

lishixinzhi/Article/program/Delphi/201311/25177

Visual Query Builder 以可视化的方式建立SQL语句对数据库表和表中的记录进行 *** 作

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

SQL links使得Delphi数据库应用程序利用SQL语言访问驻留在远程服务器上的数据 这些服务器包括ORACLE Sybase Microsoft SQL Server Informix InterBase 当安装SQL Link驱动程序之后 SQL语句便可以直接 *** 作服务器上的数据

Delphi可以访问的数据源(DataSource)

Delphi数据库应用程序是通过BDE获取它们所需的数据的 BDE与不同类型的数据源打交道 BDE可以使用的数据源有如表 所示

表 Delphi可访问的数据源

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

数据源(DataSource)   特 性 描 述  文件扩展名

─────────────────────────────────────

dBASE数据库  数据库表是通过dBASE数据库管理系统或DBD建立的 每个表是一个独立的文件  DBF

─────────────────────────────────────

Paradox数据库  数据库表是通过Paradox数据库管理系统  DB或DBD建立的 每个表是一个独立的文件

─────────────────────────────────────

ASCII文件  表是通过Database Desktop建立的 每个  TXT表是一个独立的文件

─────────────────────────────────────

本地InterBase服务器  数据库是通过InterBase数据库管理系统  GDB建立的 多个表包含在一个数据库文件中

─────────────────────────────────────

SQL数据库服务器   数据库是通过相应的数据库服务器提供的 依赖不同的ORACLE Sybase Informix 专用或通用工具建立的 也可以通过DBD来 数据库管理Microsoft SQL Server  创建数据库 并通过SQL Link访问数据库  系统InterBase

─────────────────────────────────────

ODBC数据源  主要是指那些具有ODBC接口的数据库系统 依赖于相应如MS Access Btrieve等的数据库

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Delphi数据库的体系结构

Delphi使用可视化的部件创建数据库应用 跟创建其它的非数据库应用程序一样 数据库部件都具备一定的属性 程序设计人员可以在设计过程中设置部件的多种属性 也可以在程序运行过程中通过程序来设置部件的各种属性

在Delphi部件板上有两页数据库部件用于开发数据库应用程序

数据访问部件页 该页上的部件主要用于说明有关的数据库的信息 如应用程序要访问(连接)的数据库 要访问数据库中的具体的数据库表 以及要访问表中哪些字段等 在实际的开发应用中常用的部件有TDataSource TTable TQuery等

数据控制部件页 该页上的部件主要用于显示浏览数据库中的数据信息 为用户提供了一个可视化的界面 常用的部件有 TDBGrid TDBEdit TDBCheck等 可以让用户对数据库中的信息进行有效的浏览 编辑 插入 删除等 *** 作

TTable TQuery TStoredproc部件负责与实际的数据库表联系 并从中获取数据信息 因而它们又常常被称为数据集部件 它们在程序设计过程中是可见的 但在程序运行时是不可见的 它们通过 BDE 为应用程序提供与数据库的连接 数据控制部件通过TDataSource部件与数据集部件相连 为用户提供一个可视化的界面 并在其中显示数据库中的数据信息

数据访问部件

数据访问部件页上提供了一组数据访问部件用来访问数据库中的数据

当要创建一个数据库应用时 首先在窗体中选择一个数据访问部件 然后为数据访问部件设置有关的属性 说明要访问的数据库 数据表以及表中的记录等 数据访问部件为数据控制部件与数据源建立一条通道 数据访问部件在程序运行时是不可见的 下表列出了数据访问页上的数据访问部件以及它们的主要用途

表 数据访问部件

━━━━━━━━━━━━━━━━━━━━━━━━━━━━

部件名称   主 要 用 途

────────────────────────────

作为数据集部件TTable TQuery StoredProc组TDataSource 件与数据浏览件TDBGrid TDBEdit之间传送数据的通道

────────────────────────────

TTable  它是存取磁盘上数据库表的媒介 它通过BDE存取数据库表中的数据 TTable再与TDataSource进行 对话 使得数据浏览部件能够有效地从TTable中访问数据并能显示和编辑其中的数据

────────────────────────────

TQuery  它利用SQL语言访问磁盘上数据库表中的数据 并与TDataSource 对话 实现数据浏览部件对数据库的访问

────────────────────────────

TStoredProc 在应用程序中 它主要用来访问远程服务器中的存贮过程

────────────────────────────

TDatabase  当应用程序要登录到一个远程服务器上的数据库时 可以用该部件来建立应用程序与数据库永久

性的连接

────────────────────────────

TBatchMove 用于复制数据库表的结构或表中的记录

────────────────────────────

TReport  用于创建数据库的输出报表

━━━━━━━━━━━━━━━━━━━━━━━━━━━━

lishixinzhi/Article/program/Delphi/201311/25180

如果你的要求是用一种语言来打开数据库的话,那么你必须首先了解dbf文件的格式,这一点非常的重要。下面是一个c语言写的读dbf文件的小程序,你看看吧!,你可以编辑一下,看可否达到你的要求!

#include <stdlibh>

#include <stdioh>

#define NFIELDS 5

#define TRUE 1

#define FALSE 0

/ DBF文件头结构 /

struct dbf_head{

char vers;

unsigned char yy,mm,dd;

unsigned int no_recs;

unsigned short head_len,rec_len;

char reserved[20];

};

/ DBF字段描述结构 /

struct field_element{

char field_name[11];

char field_type;

unsigned int offset;

unsigned char field_length;

unsigned char field_decimal;

char reserved1[2];

char dbaseiv_id;

char reserved2[10];

char production_index;

};

char dbf_fields_name[NFIELDS]={

"a", "b","c","d","e"

};

/ 全局变量 /

struct dbf_head file_head;

struct field_element fields;

int length;

unsigned int offset;

/ 整形数字节顺序改变函数 /

void revert_unsigned_short(unsigned short a)

{

unsigned short left,right;

left=right=a;

a=((left&0x00ff)<<8)|((right&0xff00)>>8);

}

void revert_unsigned_int(unsigned int a)

{

unsigned int first,second,third,forth;

first=second=third=forth=a;

a=((first&0x000000ff)<<24)|((second&0x0000ff00)<<8)|

((third&0x00ff0000)>>8)|((forth&0xff000000)>>24);

}

/ 主函数代码 /

void main()

{

register int i,j;

FILE fp_dat;

char buffer;

char allspace;

int fields_count, matched=FALSE;

unsigned int counts;

/ 打开dbf文件 /

if((fp_dat=fopen("adbf","rb"))==NULL){

fprintf(stderr,"Cannot open dbf file to read!\n");

exit(1);

}

/ 读取表头纪录 /

fseek(fp_dat,0L,SEEK_SET);

fread((void)&file_head,sizeof(struct dbf_head),1,fp_dat);

revert_unsigned_int(&file_headno_recs);

revert_unsigned_short(&file_headhead_len);

revert_unsigned_short(&file_headrec_len);

/ 计算字段数 /

fields_count=(file_headhead_len-sizeof(struct dbf_head)-1-263)/sizeof(struct field_element);

/ 开辟存储字段子记录的空间 /

if((fields=(struct field_element)malloc(sizeof(struct field_element)fields_count))==NULL){

fprintf(stderr,"Cannot allocate memory for fields array !\n");

fclose(fp_dat);

exit(2);

}

/ 开辟存储一条数据记录的空间 /

if((buffer=(char)malloc(sizeof(char)file_headrec_len))==NULL){

fprintf(stderr,"Cannot allocate memory for record buffer!\n");

fclose(fp_dat);

exit(3);

}

/ 开辟一个全为空格的纪录,以便后面做比较 /

if((allspace=(char)malloc(sizeof(char)file_headrec_len))==NULL){

fprintf(stderr,"Cannot allocate memory for all_space record buffer!\n");

fclose(fp_dat);

exit(4);

}

else{

memset((void)allspace,'\x20',file_headrec_len-1);

allspace[file_headrec_len]='\0';

}

/ 读取所有的字段子记录,调整整形数的字节顺序 /

fread((void)fields,sizeof(struct field_element),fields_count,fp_dat);

for(i=0;i<fields_count;i++)

revert_unsigned_int(&fields[i]offset);

/ 计算各个字段的字节偏移量,第一字节为删除标记 /

fields[0]offset=1;

for(i=1;i<fields_count;i++)

fields[i]offset=fields[i-1]offset+(unsigned short)fields[i-1]field_length;

/ 开辟存储字段长度和偏移量的数组 /

length=(int)malloc(sizeof(int)fields_count);

offset=(unsigned int)malloc(sizeof(unsigned int)fields_count);

if(length==NULL||offset==NULL){

fprintf(stderr,"Cannot allocate memory for array length or offset\n");

exit(-1);

}

/ 找到所需字段的偏移量和长度,如果没有相应字段,程序退出 /

for(i=0;i<NFIELDS;i++)

{

for(j=0;j<fields_count;j++)

{

if(strcmp(dbf_fields_name[i],fields[j]field_name)==0)

{

offset[i]=fields[j]offset - 1;

length[i]=fields[j]field_length;

matched=TRUE;

break;

}

if(!matched){

fprintf(stderr,"dbf file structure is invalid, field %s not found\n", dbf_fields_name[i]);

exit(-1);

}

else

matched=FALSE;

}

}

/ 定位文件指针到数据记录的开始位置 /

fseek(fp_dat,(long)file_headhead_len,SEEK_SET);

/ 读取每条记录的字段数据 /

for(counts=0;counts<file_headno_recs;counts++)

{

/ 如果有删除标记,跳到下一条记录 /

if(fgetc(fp_dat)==(int)'\x2a')

{

fseek(fp_dat,(int)file_headrec_len-1,SEEK_CUR);

continue;

}

fread((void)buffer,(int)file_headrec_len-1,1,fp_dat);

buffer[file_headrec_len]='\0';

/去掉全为空格的记录行/

if(strcmp(buffer,allspace)==0)

continue;

}

fclose(fp_dat);

/ 释放开辟的空间 /

free(buffer);

free(allspace);

free(offset);

free(length);

}

以上就是关于如何直接打开Database File数据库文件全部的内容,包括:如何直接打开Database File数据库文件、SQL设计图书管理系统、DELPHI基础教程:Delphi开发数据库应用程序概述(二)[2]等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9512779.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存