当前位置:文档之家› 《数据库技术 》详细实验指导

《数据库技术 》详细实验指导

《数据库技术 B 》实验指导书

实验一:

实验题目:Delphi IDE环境面向对象编程基础

实验目的:熟悉Delphi的IDE环境,掌握基本操作方法,理解面向对象编程的概念。

实验类型:验证性

实验内容:DELPHI的窗口介绍、工具栏的使用。程序结构,单元文件的结构,对象命名,属性设置方法,事件编写方法

功能:实现简单的数学运算

1.设计界面。

所需组件:Standard面板的6个edit组件,4个label组件,3个button组件。

System面板的OLE,Media player。

分别设置6个edit的text属性为空。label1的caption属性设置为’ + ’; label2的caption属性设置为’* ’;label3, label4的caption属性设置为’= ’; button1,button2,button3分别设置他们的caption属性为“计算”,“计算”和“关闭”。各个组件的大小可以通过鼠标拖动进行大小变化,也可以设置它们的width, height属性进行调整。字体的大小调整通过对象观察器中的font属性的对话框灵活改变。

设置Media player1的AutoOpe n属性为TRUE, display属性为OleContainer1,Filename属性为多媒体文件存放的位置。

设计出的界面如图所示;

2. 编写组件button1,button2,button3的事件代码

第一个计算按钮实现求和功能:

代码如下:

procedure TForm1.Button1Click(Sender: TObject);

begin

edit3.Text:=inttostr(strtoint(edit1.Text)+strtoint(edit2.Text));

end;

其中,inttostr是把字符转换为整数的函数,strtoint是把整数转换为字符的函数。第二个计算按钮实现乘法计算的功能:

代码如下:

procedure TForm1.Button1Click(Sender: TObject);

begin

edit6.Text:=inttostr(strtoint(edit4.Text)*strtoint(edit5.Text));

end;

关闭按钮:运行程序结束,界面关闭。

procedure TForm1.Button3Click(Sender: TObject);

begin

close;

end;

运行效果:在文本框中输入数字,点击计算按钮,效果如图:

点击Media player 的开始按钮,视频开始播放:还可以点击其他的相关操作按钮。

实验二

实验题目:数据表格建立,SQL程序设计

实验目的:使用表设计器建立表格,学习索引建立方法,学习简单SQL查询程序设计

实验类型:验证性

实验内容:熟悉DATABASE DESKTOP 建立表格,SQL查询命令的使用。

表5-1

2. 以上题创建的book.db数据表设置bookno为主键,并分别为bookname和auther 设置第二索引。student.db数据表设置studentno为主键。brecord.db数据表设置recordno为主键,并分别为bookno和studentno设置第二索引。

3. 设置题1中3个数据表的数据库别名为Book.

4.使用books数据库查询“所有逾期图书的学生信息”,“学生编号为03005的图书借阅情况”,试写出SQL查询语句。

解答:“所有逾期图书的学生信息”的查询语句为:

SELECT a.*

FROM Student.db AS a,bRecord.db AS b

WHERE a.StudentNo=b.StudentNo AND b.Delayed=True

“学生编号为03005的图书借阅情况”的查询语句为:

SELECT a.StudentName, c.BookName, b.BorrowTime, b.ReturnTime, b.Delayed

FROM Student.db AS a,bRecord.db AS b, Book.db AS c

WHERE b.StudentNo=’03005’AND a.StudentNo=b.StudentNo AND

c.BookNo=b.BookNo

实验三

实验题目:常用界面组件程序设计

实验目的:熟悉LABLE组件、EDIT组件、COMBOBOX组件、LISTBOX组件、RIDIOGROUP

组件等属性设置方法,功能设计,编程设计。

实验类型:验证性

实验内容:

(一)实现一个教师简历的信息输入。一个教师的属性有姓名,学历性别等,还有一些备注。当上述这些属性有改动后,“刷新简历(R)”按钮就被激活,按下后,就在简历一项中生成该教师的一个大致简历。按下“关闭”按钮后,如果教师属性有改动但简历没有刷新,则提示是否刷新,根据回答作出相应后推出程序。

主要说明了一下内容:

1在窗体中使用组件。

2统一窗体风格。

3一些常用组件,如Label,Edit,Combox,Broupbox,Radiobutten等的用法。

4如何退出应用程序。

5消息对话框的使用

若姓名发生改变,简历需要重新刷新,刷新简历按钮就恢复显示。可以点击

刷新按钮,简历内容将发生改变。刷新按扭又灰显。

问是否刷新简历。

之关闭。点击“NO”,弹出信息框“你选择的不是刷新”,程序关闭。

(二)设计如下图所示窗体:标签LABLE1//复选框CHECKBOX1—3,选项按钮组RadioGroup1

主要代码:

粗体、斜体、下划线

粗体复选框(checkbox1)的CLICK事件代码:

If checkbox1.checked then

Label1.Font.Style := Label1.Font.Style +[fsBold]

Else

Label1.Font.Style := Label1.Font.Style-+[fsBold]

?fsBold

?fsItalic

?fsUnderline

注意:集合运算:并运算+ 差运算-

选项按钮组的鼠标单击事件:

case RadioGroup1.ItemIndex of

0: https://www.doczj.com/doc/4a8034588.html,:='宋体';

1: https://www.doczj.com/doc/4a8034588.html,:='黑体';

2: https://www.doczj.com/doc/4a8034588.html,:='楷体_GB2312';

end;

实验四

实验题目:菜单组件程序设计

实验目的:熟悉菜单项定义,快捷键的设置,窗体显示方式设置等。

实验类型:验证性

实验内容:菜单项定义,快捷键的设置,窗体显示方式设置,引用窗体,多窗体程序设计。

制作一个点菜的菜单:如图所示,通过主菜单或者工具栏可以实现点菜的功能。并将点的菜名列在窗体右边的Memo组件中。在窗体中单击鼠标右键,将出现一个弹出式的菜单,可以点当天的优惠菜。在窗体下方的状态栏,显示出对应菜名的说明及当前点过菜打印输出:通过“重新点菜”按钮,可以将Memo 组件中的内容清空,同时将状态栏中的总价格清为零。

鼠标放在上方的BUTTON上,状态栏的左边将显示相应的菜名和菜价信息,点击BUTTON弹出对话框。

确定后相应的菜名就出现在MEMO中,且状态栏的右方显示了所消费的价格。

实验五

实验题目:使用Ttable组件进行简单程序设计

实验目的:Ttable组件的属性设计;数据库连接设置;数据控制方法,数据定位功能设计,编程设计。

实验类型:验证性

实验内容:

编写使用BDE的一个应用程序实现表中纪录的插入、编辑、更新以及记录指针,如下图所示:

点击浏览数据,界面如图所示:

实验步骤简介:

1.建立表格books,字段有bookno, bookname, author, publishment, buytimeyear, byetimemonth, buytimedate, buytime, ordered, borrowed。并在BDE Administration中建立数据库别名books。

2.使用page control控件,右键单击弹出快捷键,使用new page方法产生浏览记录和浏览数据的两个页面。修改两个tab sheet的caption属性,命名为浏览记录和浏览数据。

3.在tabsheet1页面下,放置table1,datasource1和DBNavigator1控件,并设置属性。设置table的databasename和tablename属性。Datasource1只需设置dataset属性。DBNavigator1设置datasource属性。

4.在tabsheet1页面下,放置相关控件,如,dbedit, dbcombobox, dbradiogroup.

分别设置它们的datasource和datafield属性。

5.Form1中添加close按钮,在tabsheet1中添加两个按钮。

6.在button下编程,实现程序功能。

procedure TForm1.FormCreate(Sender: TObject);

begin

with DBRadioGroup1 do

begin

Items.Add('Yes');

Items.Add('No');

Items.Add('Maybe');

Values.Add('Y');

Values.Add('N');

Values.Add('M');

end;

end;

7.在tabsheet2页面下,放置DBGrid1和DBNavigator2控件。并按照上面第三步的方式设置属性。

8.在DBGrid1中实现当具体点击某一行的数据时,页面切换到tabsheet2界面下。

在DBGrid1的事件中oncellclick中编程。

实验六

实验题目:使用Ttable组件和数据控制组件进行程序设计。

实验目的:掌握Ttable组件查询功能实现方法;查询条件设计;查询结果显示。实验类型:验证性

实验内容:

一.程序总体功能介绍:

用户选择数据库名后,在该数据库名下的所有表格就显示在其下方的Listbox中,点击表格名称,表格对应的字段名就显示在右方的Listbox中。同时,用户可以根据该表格的第一个字段进行查询具体的记录。在edit框中输入查询信息,点击“查询”按钮,若查找到相关记录,dbgrid自动会把指针指向那条记录并显示“查询成功”。否则显示“查询失败”。

按钮上一条记录,下一条记录用来实现数据指针的移动。

二.步骤简介:

1.建立新的应用程序项目。

2.设计窗体。Label1,label2,label3分别显示“请选择数据库名”,“请选择表格”

已经“显示字段名”。Label4和label5分别用来显示“请输入要查询的【】字段值”其中。【】的内容是随着所选择表格的第一个字段名而确定的,是随着表格的名称而发生改变的。Label5的内容是来显示查询的结果的。若存在则显示查询成功,否则查询失败。它也是改变的。

所以先设置其一些属性,具体如下:

a.定义两个全局变量,str1和str2, 字符串类型。

b.选择数据库名。当程序一启动就会自动在显示数据库名的combobox中把当

前的数据库别名显示出来。因此需要在Form的oncreate事件中编写程序代码,代码如下:

procedure TForm1.FormCreate(Sender: TObject);

begin

with ComboBox1 do

begin

items.Clear;

session.GetAliasNames(items);

text:=items[0];

end;

end;

c. 选择的数据库名后,数据库中所包含的所有表格就显示在Listbox中,程序实

现如下:

procedure https://www.doczj.com/doc/4a8034588.html,boBox1Click(Sender: TObject);

begin

str1:=ComboBox1.Items.Strings[ComboBox1.Itemindex];

with listbox1 do

begin

items.clear;

session.GetTableNames(str1,'',true,true,listbox1.Items);

end;

end;

d.单击listbox中的表格后,它所有的字段就会在右边的listbox中显示:procedure TForm1.ListBox1Click(Sender: TObject);

begin

with table1 do

begin

close;

databasename:=str1;

tablename:=listbox1.Items.Strings[listbox1.itemindex];

open;

end;

with listbox2 do

begin

items.Clear;

items:=table1.FieldList;

str2:=items.Strings[0];

label4.Caption:='请输入要查询的'+str2+'字段值:';

end;

end;

e.在EDIT中查询,显示查询结果。

procedure TForm1.Button1Click(Sender: TObject);

begin

with table1 do

begin

close;

indexfieldnames:=str2;

open;

if findkey([edit1.Text]) then

begin

label5.Caption:='查询成功!';

end

else

begin

label5.Caption:='查找失败!';

end;

end;

end;

相关主题
文本预览
相关文档 最新文档