资源预览内容
第1页 / 共21页
第2页 / 共21页
第3页 / 共21页
第4页 / 共21页
第5页 / 共21页
第6页 / 共21页
第7页 / 共21页
第8页 / 共21页
第9页 / 共21页
第10页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
用Delphi编写小型数据库2011-10-20|分类:电脑资料|标签:电脑技巧|编辑:www.tjwck.com,辅编:www.jnsq106.com用Delphi编写小型数据库(一)建立数据库Delphi是目前最流行的编程工具之一,它在开发数据库应用程序方面有着众多的优越性,提供了强大的开发基于客户/服务器模式数据库应用程序的能力。在数据库访问方面,配有Borland Database Engine(BDE),可通过SQL Links、ODBC等技术访问多种数据库,也可以利用ADO来访问各种数据库。在应用程序客户端开发方面,Delphi提供了大量的用于数据库应用开发的各种组件,可以极大地提高开发效率。在学习Delphi数据库编程之前,我们应该对数据库有一定的认识。一、认识数据库1.数据(Data)数据库是存放数据的仓库,数据的种类很多,如数字、文字(商家的订单信息、供应商信息等)、图形、图像。2.数据库(Database)数据库是长期存放在计算机上的,能够识别的,有组织、可共享、具有一定安全性的数据集合。在数据库中,一般都采用关系模型,通过表格来实现。3.数据库管理系统(DataBase Management System)数据库管理系统是位于用户软件和操作系统之间的数据库管理软件,常见的数据库管理系统有Oracle、Microsoft SQL Server、Sybase、Informix等。4.数据库系统(DataBase System)数据库系统的构成见图1:图1 数据库系统构成图实际开发中,数据库系统常分为两类:桌面型数据库系统和网络型数据库系统。桌面型数据库系统指只在本机运行、不与其他计算机交换数据的数据库系统,用于小型的信息管理;网络型数据库系统指能够通过网络进行数据共享的数据库系统,多人可以通过多台计算机对数据库进行操作,可以通过数据库对用户的权限进行管理。目前,网络型数据库系统的应用前景越来越广泛。有关数据库的术语由于篇幅关系没做深入讲解,有兴趣的读者可以参考相关书籍。下面我们以Microsoft SQL Server2000为例,讲解建立一个数据库的详细过程。Microsoft SQL Server2000安装完成后,依次点击“开始程序Microsoft SQL Server企业管理器”,启动企业管理器程序,SQL Server企业管理器(Enterprise Manager)是SQL Server软件的一个组成部分,它给用户提供了一个集成的管理控制台来集中管理多个服务器。在Windows进程中的名字叫mmc.exe。企业管理器的界面如图2,我们对数据库的大部分操作都在这个程序中执行。图2 SQL Server企业管理器的界面二、创建一个新的数据库1.在企业管理器中,点击菜单“操作”,选择“新建数据库”,在弹出的对话框中,需要确定新建的数据库的名称和存放的路径。新建的数据库的名称为test,存放的路径为D盘。注意:修改了数据文件的路径后,最好手动把日志文件的路径也修改到相同目录下,确定后,新建的数据库就创建了。在D盘下可以找到test_Data.MDF和test_Log.LDF两个文件,在企业管理器树中也能找到test数据库了。2.数据库创建后,我们就根据实际需要创建表了。右键点击企业管理器树中的“表”后,在弹出的菜单中选择“新建表”,在弹出的对话框中对表的结构进行详细设计。定义四个字段,分别表示姓名、年龄、性别、住址。注意定义字段时要考虑数据类型、长度是否合法,如果把姓名定义为数字型或者把年龄的长度设置为1,将来数据就会出现意想不到的情况。当表设计完成后点击“保存”按钮,输入表名PersonInfo,对表的设计就初步完成了。重复上述操作可以建立多个表。建立数据库以及建立表相对来说比较简单,按部就班就能完成。不过在实际做项目过程中,在建立表之前最好根据需求考虑完善后再进行。如果到项目编码中期再更改表结构,会让人心烦意乱的。三、值得注意的概念1.存储过程存储过程是 SQL 语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理。存储过程存储在数据库内,可由应用程序通过一个调用执行,而且允许用户声明变量、有条件执行,它还拥有强大的编程功能。存储过程相当于存放在数据库中的函数,当应用程序调用存储过程时,将被数据库管理系统调用并执行,然后将执行结果返回给应用程序。存储过程可包含程序流、逻辑以及对数据库的查询。它可以接收参数、输出参数、返回单个或多个结果集以及返回值。2.触发器触发器是一种特殊类型的存储过程,当使用一种或多种数据修改操作在指定表中对数据进行修改时,触发器会生效,触发器可以查询其它表,而且可以包含复杂的 SQL 语句。它们主要用于强制复杂的业务规则或要求。3.事务性(Transaction)事务是指不可分割的一组操作集合,集合的操作要么全部完成,要么全部取消,是一个不可分割的工作单位。4.在设计表时需要注意以下几点1)主关键字(Primary Key)主关键字又叫主键,是唯一能确定表的一行(一条记录)的一个或多个字段,比如上面我们定义的PersonInfo表中,name字段就可以设定为主关键字,在设计表的窗体中,选中name这一行,点击“钥匙”按钮后就把name设置为主关键字了,这样每一条记录的name的信息就不能相同了。主关键字的功能有:建立索引,利于快速查找和排序;分辨记录;保证引用的完整性。2)索引(Index)建立索引是为了提高数据库的查找和排序速度。关键字是一个特殊的索引。索引使数据库程序无须对整个表进行扫描就可以在其中找到所需要的数据。用于索引的字段不需要唯一,但唯一的字段的索引能获得更高的效率。3)外部关键字(Froeign Key)外部关键字又称外键,用于建立和加强两个表数据之间链接的一个或多个字段。将保存表中主键值的一列或多列添加到另一个表中,可创建两个表之间的连接。这一列或多列就成为第二个表的外键。外键也是一种约束条件,约束的主要目的是控制存储在外键表中的数据,还可以控制对主键表中数据的修改。下面举例说明,比如我们定义了两张表,表PersonInfo的name字段定义为主关键字,其中name列的数据是唯一的,也就是名字不可重复,数据见图3:图3 PersonInfo表表wage存放员工每个月的工资,所以名字可以重复,数据见图4:图4 wage表如果把表PersonInfo中的第四条记录“曾虹云”删除,那么表wage中的前三条记录就显得孤立了,既然员工“曾虹云”的基本信息都没有了,怎么会保留每个月的薪水呢?外部关键字防止了这种情况的出现,我们对表wage进行如下设计:在表wage的设计窗口中点击按钮“管理索引/键”,在弹出的对话框中点击“关系”标签页,点击“新建”按钮,分别在主键表中选择name和在外键表中选择name,这样我们就设置了一个外键,把PersonInfo和Wage两张表做了关联,当Wage表中有“曾虹云”的记录时,表PersonInfo是不允许删除“曾虹云”这条记录的,这样就保证了数据引用的完整性。用Delphi编写小型数据库(二)数据库编程的基本操作2007-05-17 10:49:01|分类:电脑资料|标签:delphi编程|字号订阅上一期我们讲解了数据库的基础知识,本期我们主要讲解Delphi数据库编程的基本操作,这一般遵循图1的模式:图1 数据库应用程序的构成启动Delphi,选择主菜单的“FlieNewData Module”,就能创建一个数据模块,数据模块相当于一个容器,用于放置数据库的组件,这些数据库相关组件均为不可见组件,如ADODataSet、ADOConnection、DataSource等。用数据模块的好处是:1.从直观来讲,这些不可见组件不用放在窗体上,简化了窗体的设计。2.可以对数据库不可视组件进行统一管理,共享其中相同的内容。我们这里举例很简单,直接把不可视控件放在主窗体上,就不再讲数据模块了。下面我们通过一个实例学习使用ADO组件来访问数据库。一、新建项目启动Delphi,新建一个项目,选择ADO组件面板,在窗体上添加ADOConnection1和ADODataSet1;选择Data Access组件面板,在窗体上添加DataSource1;选择Data Controls组件面板,添加DBGrid1。二、设置ADOConnectionADO组件一般都包含一个被用于连接的属性,即ConnectionString属性,利用此属性可以指定一个到ADO数据存储及其属性的连接。在窗体上选中ADOConnection1,在Object Inpector上双击这个组件的ConnectionString属性,弹出窗体的ADO连接对话框。选择Build按钮,在弹出的对话框中选择“Microsoft OLE DB Provider for SQL Server”选项,单击“下一步”按钮,出现数据链接属性对话框。1.选择或输入服务器名称:可以在此输入IP地址,也可以点击下拉列表,以显示当前系统可以访问的SQL Server数据库的列表,选择其中的一个,单击“刷新”按钮,可获得最新的SQL Server数据服务器列表。此例中点击下拉列表,选择上期我们建立的test数据库的列表。2.输入登录服务器的信息:选择“使用指定的用户名称和密码”,然后输入用户名称和密码。并选中“允许保存密码”复选框。3.在服务器上选择数据库:如果登录用户名和密码正确,点击下拉列表就会出现数据库的列表,否则显示报错信息。4.点击“测试连接”按钮测试输入的登录信息是否正确。设置完毕后点击“确定”按钮返回到主窗体。小技巧:ADOConnection1的LoginPrompt属性用于控制如何处理SQL数据库的安全性问题。如设置为True,当应用程序试图建立数据库连接时屏幕上将出现标准Delphi注册对话框,用户必须输入正确的用户名和口令。为了设计方便需要把ADOConnection1的LoginPrompt的属性设置为False,这样在配置其他的ADODataSet组件时不必每次都输入用户名和密码了。三、配置数据集ADODataSetDelphi数据库开发的很重要的特征之一是,Delphi可以在程序设计时让我们对数据进行处理,在开始处理表的数据之前,程序必须首先打开数据集,每个ADO数据集都可通过它自己的ConnectionString属性或一个ADOConnection组件(和它的ConnectionString)访问数据库的数据。在主窗体上选择ADODataSet1,设置其Connection属性:点击其下拉按钮,选择ADOConnection1,然后双击“CommandText”,在弹出的对话框中选择PersonInfo表,并点击*号,也可以直接在SQL中输入“select * from PersonInfo”,这样我们就配置了一个数据集。四、配置数据源配置数据源只需要设置DataSet属性,点击下拉按钮,选择ADODataSet1。五、配置表格配置表格需要设置DataSource属性,点击下拉按钮,选择DataSource1。这时,再选中ADODataSet1,并把其Active属性设置为True,如果配置正常,将会在表格中显示数据库的PersonInfo表的数据,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号