《Delphi程序设计》-第九章数据库_第1页
《Delphi程序设计》-第九章数据库_第2页
《Delphi程序设计》-第九章数据库_第3页
《Delphi程序设计》-第九章数据库_第4页
《Delphi程序设计》-第九章数据库_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目1基于BDE的数据库应用程序项目说明本实例使用BDE组件面板上的TTable组件开发一个简单的数据库应用程序,实现学生信息的增、删、改查功能,同时讲解了TDataSource,TTable,TDBGrid组件的用法,其中TDBGrid组件会以表格的形式显示数据库记录。要求程序运行时界面如图9-1所示。返回下一页项目1基于BDE的数据库应用程序项目分析本程序包括一个窗体,在主界面上可按照学号查询记录,可增加、删除和修改记录。在编辑框输入学生的信息,单击“插入”按钮实现学生数据的录入;用鼠标选中学生数据显示表格中需要删除的记录,然后单击“删除”按钮实现学生数据的删除;用鼠标选中学生数据显示表格中需要修改的记录,编辑框中就会显示选中的学生信息,然后在编辑框中修改学生信息,最后单击“修改”按钮实现学生数据的修改;在学号编辑框中输入要查询的学生学号,单击“查询”按钮,符合条件的信息就会在编辑框中显示。返回上一页下一页项目1基于BDE的数据库应用程序项目实现1.数据库的设计此例子是基于学生信息,包括学号、姓名、性别、联系电话和出生日期。这些信息都存在于一张表中。下面建立数据库别名和表。(1)单击Tools菜单选择DatabaseDesktop菜单,弹出DatabaseDesktop主界面,如图9-2所示。(2)在此界面中单击Tools菜单选择AliasManager,弹出对话框,如图9-3所示。返回上一页下一页项目1基于BDE的数据库应用程序(3)单击New按钮,New按钮变为KeepNew按钮,在DataBasealias中输入数据库别名(这里输入test),Drivertype是STANDARD,默认是Paradox数据库,Path是数据库的存放逻辑地址。单击KeepNew按钮,再单击OK按钮,名为test的别名就建好了。(4)在DatabaseDesktop主界面,单击File→New→Table,弹出对话框,如图9-4所示。(5)单击OK按钮,弹出界面设置如图9-5所示,注意S_IDKey属性必须为“*”,代表为主键,后续例子程序中查询时,必须设置此属性时才生效。(6)单击SaveAs按钮,如图9-6所示。返回上一页下一页项目1基于BDE的数据库应用程序(7)Alias选择前面建立的数据库别名test,文件名输入student,单击“保存”按钮。这样一个数据表就创建成功。(8)在DatabaseDesktop主界面,单击File→Open→Table,弹出对话框,如图9-7所示。(9)Alias选择之前建立的数据库别名test。文件名输入先前建立的数据表student,打开之后就是student表的显示视图,可以进一步管理数据表和表数据了。返回上一页下一页项目1基于BDE的数据库应用程序2.设置用户界面,设置对象属性(1)窗体中添加的组件及属性设置。在窗体中放置六个标签,命名为Lable1~Lable5,六个编辑框命名为Edit1~Edit5和四个按钮Button1~Button4,并将Lable1~Lable五个组件的Caption属性分别配置为“学号”,“姓名”,“性别”,“联系电话”和“出生日期”,Lable1的ReadOnly属性配置为true;将Edit1~Edit5五个组件的Text属性分别配置为空;Button1~Button4四个组件的Caption属性分别配置为“插入”,“删除”,“查询”和“修改”。返回上一页下一页项目1基于BDE的数据库应用程序

在表单中添加一个数据源组件DataSource1,一个基表组件Table1,一个数据表格组件DBGrid1。以DataSource1为例,组件添加方法是:在组件面板上DataAccess标签页,选择DataSource组件,然后将鼠标指针定位在窗体中的适当位置,单击鼠标放置此控件,其默认名称为“DataSource1”,其他控件的添加方法相同。Table1在组件面板上BDE标签页,DBGrid在组件面板上DataControls标签页。设置各个数据库组件的属性。将Table1的DataBaseName属性设置为test,TableName属性为student.DB,Active属性为True;DataSource1的DataSource的DataSet属性设置为Table1;DBGrid1的属性为DataSource1。返回上一页下一页项目1基于BDE的数据库应用程序项目实现1.插入功能编辑框中输入学生的各项数据,然后单击“插入”按钮。因学号不能为空,需要在程序中进行判断。设置“插入”按钮Button1的OnClick事件。2.删除功能鼠标定位DBGrid1控件中的某一条记录,然后单击“删除”按钮。设置“删除”按钮Button2的OnClick事件。3.修改功能鼠标定位DBGrid1控件中的某一条记录,在编辑框中修改此记录数据,然后单击“修改”按钮。设置“修改”按钮Button4的OnClick事件。返回上一页下一页项目1基于BDE的数据库应用程序4.查询功能学号编辑框中输入要查询的学号信息,然后单击“查询”按钮,根据需要学号值在其余编辑框中显示该学生信息。设置“查询”按钮Button3的OnClick事件。5.DBGrid1和编辑框联动功能鼠标选中DBGrid1某一条记录,编辑框中显示此条记录的数据。设置DBGrid1的OnCellClick事件。返回上一页下一页项目1基于BDE的数据库应用程序学习支持1.TTable组件该组件用于通过BDE从数据库中获得数据,并经过TDataSource组件将这些数据提供给数控制组件,当然数据也可以以相反的方向传送,即TTable组件可将从数据控制组件收到的数据通过BDE传送给底层的数据库。在程序设计时,TTable组件一般与数据库中的表相对应。2.TDataSource组件

TDataSource组件提供了联系数据集组件(TTable组件和TQuery组件)与数据控制组件(例如TDBGrid控件)的纽带。通过使用TDataSource组件,可以利用数据控制组件显示、浏览以及修改数据集中的数据。返回上一页下一页项目1基于BDE的数据库应用程序3.TDBGrid控件这个组件以栅格的形式显示数据库的数据。其关联的数据库组件可以是TTable元件,也可以是TQuery元件,使用这个组件最好再配合TDBNavigator控件以方便地浏览和修改数据库的记录。与许多数据库桌面系统一样,当用户在栅格中插入或修改了一个记录,只有当用户把输入焦点从这个记录上移走时修改才有效。返回上一页项目2基于ADO的数据库应用程序项目说明本实例使用ADO组件面板上的ADOTable和ADOQuery组件开发一个简单的数据库应用程序,实现学生信息的插入、删除和修改功能,同时讲解了ADOTable、ADOQuery和ADOConnection用法。程序运行时界面如图9-9所示。返回下一页项目2基于ADO的数据库应用程序项目分析本程序包括一个窗体,在主界面上可增加、删除和修改记录。在编辑框输入学生的信息,单击“插入”按钮实现学生数据的录入;用鼠标选中学生数据显示表格中需要删除的记录,然后单击“删除”按钮实现学生数据的删除;用鼠标选中学生数据显示表格中需要修改的记录,编辑框中就会显示选中的学生信息,然后再编辑框中修改学生信息,最后单击“修改”按钮实现学生数据的修改。以上操作分别用ADOTable控件和SQL方式两种不同的方法实现。返回上一页下一页项目2基于ADO的数据库应用程序项目实现1.数据库的设计此例子是基于学生信息,包括学号、姓名、性别、联系电话和出生日期。这些信息都存在一张表中。下面建立数据库别名和表。(1)启动SQLServer的企业管理器,前提条件是服务管理器数据库处于已启动状态,新建数据库。如图9-10操作。(2)选择新建数据库,弹出界面如图9-11所示。(3)在名称中输入数据库名称(这里输入student),其余默认设置就行。单击“确定”按钮,即完成数据库的创建。下面进行数据表的创建,创建表如图9-12所示。返回上一页下一页项目2基于ADO的数据库应用程序(4)选择“新建”→“表”之后,弹出界面按图9-13进行数据表字段的定义。设置S_ID为主键,选择S_ID列,单击工具栏上的设置主键的按钮。(5)单击工具栏上的“保存”按钮,如图9-14所示。2.设置用户界面,设置对象属性(1)窗体中添加的组件及属性设置。(2)设置各个数据库组件的属性:ADOConnection1的ConnectionString属性设置如图9-15所示。返回上一页下一页项目2基于ADO的数据库应用程序代码实现1.插入功能编辑框中输入学生的各项数据,然后单击“插入”按钮。设置“插入”按钮BitBtn1的OnClick事件。2.删除功能鼠标定位DBGrid1控件中的某一条记录,然后单击“删除”按钮。设置“删除”按钮BitBtn2的OnClick事件。3.修改功能鼠标定位DBGrid1控件中的某一条记录,在编辑框中修改此记录数据,然后单击“修改”按钮。设置“修改”按钮BitBtn3的OnClick事件。返回上一页下一页项目2基于ADO的数据库应用程序4.退出功能退出应用程序。设置“退出”按钮BitBtn4的OnClick事件。5.DBGrid1和编辑框联动功能鼠标选中DBGrid1某一条记录,编辑框中显示此条记录的数据。设置DBGrid1的OnCellClick事件。6.数据操作方式选择通过选择单选按钮,选择数据操作方式。通过此事件设置不同的数据源链接方式。返回上一页下一页项目2基于ADO的数据库应用程序学习支持1.ADOConnection组件该组件用于和一个ADO数据库连接,其他组件都可以通过它来操作数据库,这样就避免每个组件都要建立自己的连接字符串。(1)ADOConnection组件的常用属性。Attributes属性:设置或返回连接对象的属性。CommandTimeout属性:设置或返回等待一条指令执行的时间(单位:秒)。ConnectionString属性:设置或返回用来创建到一个数据源连接的详细设置。返回上一页下一页项目2基于ADO的数据库应用程序ConnectionTimeout属性:设置或返回等待一个连接打开的时间(单位:秒)。CursorLocation属性:设置或返回指针的位置。DefaultDatabase属性:设置或返回于指定客户端建立连接的默认数据库的字符串值。IsolationLevel属性:设置或返回事件隔离度。Mode属性:设置或返回技术提供对象provider的访问权限。Provider属性:设置或返回技术提供对象provider的名称。State属性:返回一个用于描述连接是否打开或关闭的值。Version属性:返回ADO版本号。返回上一页下一页项目2基于ADO的数据库应用程序(2)ADOConnection组件的重要方法。BeginTrans:执行一个新的处理方式。Cancel:取消执行一个程序。Close:关闭一个连接。CommitTrans:保存所有改变和终止当前处理的信息。Execute:执行一个查询语句、陈述语句、程序或技术提供对象provider的详细文本。Open:打开一个连接。OpenSchema:返回技术提供对象provider关于数据源的schema信息。RollbackTrans:取消所有对当前处理的变更和程序的终止。返回上一页下一页项目2基于ADO的数据库应用程序(3)ADOConnection组件的重要事件。BeginTransComplete:在BeginTrans操作之后调用。CommitTransComplete:在CommitTrans操作之后调用。ConnectComplete:在connection开始之后调用。Disconnect:在connection结束之后调用。ExecuteComplete:在一个指令结束执行之后调用。RollbackTransComplete:在RollbackTrans操作之后调用。WillConnect:在一个连接开始之前调用。WillExecute:在一个指令执行之前调用。返回上一页下一页项目2基于ADO的数据库应用程序2.ADOQuery组件

ADOQuery组件对ADODataSet的完善,用于检索或操作由一个单一的合法的SQL语句生成的数据集。(1)ADOQuery常用属性。

Active属性:如果这个特性设置为true,相当于调用Open()方法来打开数据集;如果这个特性设置为false。相当于调用close()方法来关闭数据集;也可以通过Active特性来判断数据集是否打开。返回上一页下一页项目2基于ADO的数据库应用程序AutoCalcFields:当程序从数据集中检索记录时,将触发OnCalcFields事件。如果AutoCalcFields特性设置为true,当非计算字段的值被更新的时候,也将触发这个事件。注意:如果AutoCalcFields设置为true,在处理OnCalcFields事件中的句柄中不能再修改数据集,否则将总是触发这个事件,从而导致无限循环。返回上一页下一页项目2基于ADO的数据库应用程序ConnectionString:数据库连接字符串,记录连接数据库引擎信息。可以通过双击或者单击属性右边按钮弹出的连接字符串设置对话框进行生成。

Filter:通过此字符串可以过滤数据集。

SQL:SQL语句,如果有参数则在参数命名前加“:”。

Parameters:通过Parameters对象的特性和方法,可以访问某个特定的参数、增加或者减少参数、获取或设置参数的值、比较参数是否相等。

RecordCount:当前数据集

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论