《数据库技术 B》实验指导书Word下载.docx
- 文档编号:21089434
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:39
- 大小:1.14MB
《数据库技术 B》实验指导书Word下载.docx
《《数据库技术 B》实验指导书Word下载.docx》由会员分享,可在线阅读,更多相关《《数据库技术 B》实验指导书Word下载.docx(39页珍藏版)》请在冰豆网上搜索。
DELPHI的窗口介绍、工具栏的使用。
程序结构,单元文件的结构,对象命名,属性设置方法,事件编写方法
功能:
实现简单的数学运算
1.设计界面。
所需组件:
Standard面板的6个edit组件,4个label组件,3个button组件。
System面板的OLE,Mediaplayer。
分别设置6个edit的text属性为空。
label1的caption属性设置为’+’;
label2的caption属性设置为’*’;
label3,label4的caption属性设置为’=’;
button1,button2,button3分别设置他们的caption属性为“计算”,“计算”和“关闭”。
各个组件的大小可以通过鼠标拖动进行大小变化,也可以设置它们的width,height属性进行调整。
字体的大小调整通过对象观察器中的font属性的对话框灵活改变。
设置Mediaplayer1的AutoOpen属性为TRUE,display属性为OleContainer1,Filename属性为多媒体文件存放的位置。
设计出的界面如图所示;
2.编写组件button1,button2,button3的事件代码
第一个计算按钮实现求和功能:
代码如下:
procedureTForm1.Button1Click(Sender:
TObject);
begin
edit3.Text:
=inttostr(strtoint(edit1.Text)+strtoint(edit2.Text));
end;
其中,inttostr是把字符转换为整数的函数,strtoint是把整数转换为字符的函数。
第二个计算按钮实现乘法计算的功能:
代码如下:
edit6.Text:
=inttostr(strtoint(edit4.Text)*strtoint(edit5.Text));
关闭按钮:
运行程序结束,界面关闭。
procedureTForm1.Button3Click(Sender:
close;
运行效果:
在文本框中输入数字,点击计算按钮,效果如图:
点击Mediaplayer的开始按钮,视频开始播放:
还可以点击其他的相关操作按钮。
实验二
使用表设计器建立表格,学习索引建立方法,学习简单SQL查询程序设计
熟悉DATABASEDESKTOP建立表格,SQL查询命令的使用。
1.利用DatabaseDesktop创建3个paradox数据表,分别如下:
字段名
类型
大小
说明
BookNo
A
书编号
BookName
50
书名
Author
作者
Publishment
出版社
BuyTime
D
购买时间
Borrowed
L
借阅否
Ordered
预约否
表5-1
studentno
学生编号
studentname
姓名
age
S
年龄
sex
性别
classname
20
班级
dept
系别
roomno
房间号
phone
13
电话
permitted
有效否
表5-2
recordno
借阅编号
借阅学生编号
bookno
orderstu
N
预约学生编号
borrowtime
借阅时间
returntime
归还时间
delayed
逾期否
ordered
表5-3
2.以上题创建的book.db数据表设置bookno为主键,并分别为bookname和auther设置第二索引。
student.db数据表设置studentno为主键。
brecord.db数据表设置recordno为主键,并分别为bookno和studentno设置第二索引。
3.设置题1中3个数据表的数据库别名为Book.
4.使用books数据库查询“所有逾期图书的学生信息”,“学生编号为03005的图书借阅情况”,试写出SQL查询语句。
解答:
“所有逾期图书的学生信息”的查询语句为:
SELECTa.*
FROMStudent.dbASa,bRecord.dbASb
WHEREa.StudentNo=b.StudentNoANDb.Delayed=True
“学生编号为03005的图书借阅情况”的查询语句为:
SELECTa.StudentName,c.BookName,b.BorrowTime,b.ReturnTime,b.Delayed
FROMStudent.dbASa,bRecord.dbASb,Book.dbASc
WHEREb.StudentNo=’03005’ANDa.StudentNo=b.StudentNoANDc.BookNo=b.BookNo
实验三
熟悉LABLE组件、EDIT组件、COMBOBOX组件、LISTBOX组件、RIDIOGROUP组件等属性设置方法,功能设计,编程设计。
(一)实现一个教师简历的信息输入。
一个教师的属性有姓名,学历性别等,还有一些备注。
当上述这些属性有改动后,“刷新简历(R)”按钮就被激活,按下后,就在简历一项中生成该教师的一个大致简历。
按下“关闭”按钮后,如果教师属性有改动但简历没有刷新,则提示是否刷新,根据回答作出相应后推出程序。
主要说明了一下内容:
1在窗体中使用组件。
2统一窗体风格。
3一些常用组件,如Label,Edit,Combox,Broupbox,Radiobutten等的用法。
4如何退出应用程序。
5消息对话框的使用
若姓名发生改变,简历需要重新刷新,刷新简历按钮就恢复显示。
可以点击刷新按钮,简历内容将发生改变。
刷新按扭又灰显。
若姓名等内容发生改变,却没有刷新简历直接关闭应用程序,弹出对话框,问是否刷新简历。
点击“YES”,简历内容刷新,弹出信息框“你选择的是刷新”,应用程序随之关闭。
点击“NO”,弹出信息框“你选择的不是刷新”,程序关闭。
(二)设计如下图所示窗体:
标签LABLE1//复选框CHECKBOX1—3,选项按钮组RadioGroup1
主要代码:
粗体、斜体、下划线
粗体复选框(checkbox1)的CLICK事件代码:
Ifcheckbox1.checkedthen
Label1.Font.Style:
=Label1.Font.Style+[fsBold]
Else
=Label1.Font.Style-+[fsBold]
⏹fsBold
⏹fsItalic
⏹fsUnderline
注意:
集合运算:
并运算+差运算-
选项按钮组的鼠标单击事件:
caseRadioGroup1.ItemIndexof
0:
label1.Font.Name:
='
宋体'
;
1:
黑体'
2:
楷体'
end;
实验四
熟悉菜单项定义,快捷键的设置,窗体显示方式设置等。
菜单项定义,快捷键的设置,窗体显示方式设置,引用窗体,多窗体程序设计。
制作一个点菜的菜单:
如图所示,通过主菜单或者工具栏可以实现点菜的功能。
并将点的菜名列在窗体右边的Memo组件中。
在窗体中单击鼠标右键,将出现一个弹出式的菜单,可以点当天的优惠菜。
在窗体下方的状态栏,显示出对应菜名的说明及当前点过菜打印输出:
通过“重新点菜”按钮,可以将Memo组件中的内容清空,同时将状态栏中的总价格清为零。
鼠标放在上方的BUTTON上,状态栏的左边将显示相应的菜名和菜价信息,点击BUTTON弹出对话框。
确定后相应的菜名就出现在MEMO中,且状态栏的右方显示了所消费的价格。
实验五
使用Ttable组件进行简单程序设计
Ttable组件的属性设计;
数据库连接设置;
数据控制方法,数据定位功能设计,编程设计。
编写使用BDE的一个应用程序实现表中纪录的插入、编辑、更新以及记录指针,如下图所示:
点击浏览数据,界面如图所示:
实验步骤简介:
1.建立表格books,字段有bookno,bookname,author,publishment,buytimeyear,byetimemonth,buytimedate,buytime,ordered,borrowed。
并在BDEAdministration中建立数据库别名books。
2.使用pagecontrol控件,右键单击弹出快捷键,使用newpage方法产生浏览记录和浏览数据的两个页面。
修改两个tabsheet的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下编程,实现程序功能。
procedureTForm1.FormCreate(Sender:
withDBRadioGroup1do
begin
Items.Add('
Yes'
);
No'
Maybe'
Values.Add('
Y'
N'
M'
7.在tabsheet2页面下,放置DBGrid1和DBNavigator2控件。
并按照上面第三步的方式设置属性。
8.在DBGrid1中实现当具体点击某一行的数据时,页面切换到tabsheet2界面下。
在DBGrid1的事件中oncellclick中编程。
实验六
使用Ttable组件和数据控制组件进行程序设计。
掌握Ttable组件查询功能实现方法;
查询条件设计;
查询结果显示。
一.程序总体功能介绍:
用户选择数据库名后,在该数据库名下的所有表格就显示在其下方的Listbox中,点击表格名称,表格对应的字段名就显示在右方的Listbox中。
同时,用户可以根据该表格的第一个字段进行查询具体的记录。
在edit框中输入查询信息,点击“查询”按钮,若查找到相关记录,dbgrid自动会把指针指向那条记录并显示“查询成功”。
否则显示“查询失败”。
按钮上一条记录,下一条记录用来实现数据指针的移动。
二.步骤简介:
1.建立新的应用程序项目。
2.设计窗体。
Label1,label2,label3分别显示“请选择数据库名”,“请选择表格”已经“显示字段名”。
Label4和label5分别用来显示“请输入要查询的【】字段值”其中。
【】的内容是随着所选择表格的第一个字段名而确定的,是随着表格的名称而发生改变的。
Label5的内容是来显示查询的结果的。
若存在则显示查询成功,否则查询失败。
它也是改变的。
所以先设置其一些属性,具体如下:
窗体主要组件的属性值
主要组件
属性值
Label4
Left=251
Top=104
Width=110
Height=33
AutoSize=False
WordWrap=True
Label5
Left=379
Top=152
Width=94
Height=25
Dbgrid1
DataSourse=DataSourse1
DataSourse1
DataSet=Table1
3.编写程序代码:
a.
定义两个全局变量,str1和str2,字符串类型。
b.选择数据库名。
当程序一启动就会自动在显示数据库名的combobox中把当前的数据库别名显示出来。
因此需要在Form的oncreate事件中编写程序代码,代码如下:
procedureTForm1.FormCreate(Sender:
withComboBox1do
items.Clear;
session.GetAliasNames(items);
text:
=items[0];
c.选择的数据库名后,数据库中所包含的所有表格就显示在Listbox中,程序实现如下:
procedureTForm1.ComboBox1Click(Sender:
str1:
=ComboBox1.Items.Strings[ComboBox1.Itemindex];
withlistbox1do
items.clear;
session.GetTableNames(str1,'
'
true,true,listbox1.Items);
d.单击listbox中的表格后,它所有的字段就会在右边的listbox中显示:
procedureTForm1.ListBox1Click(Sender:
withtable1do
databasename:
=str1;
tablename:
=listbox1.Items.Strings[listbox1.itemindex];
open;
withlistbox2do
items:
=table1.FieldList;
str2:
=items.Strings[0];
label4.Caption:
请输入要查询的'
+str2+'
字段值:
e.在EDIT中查询,显示查询结果。
procedureTForm1.Button1Click(Sender:
indexfieldnames:
=str2;
iffindkey([edit1.Text])then
label5.Caption:
查询成功!
end
else
查找失败!
实验七
学会使用TQuery组件进行简单查询设计,为后面的动态查询打下基础
TQuery组件查询属性SQL设计,手动查询设计,程序方式查询设计,SQL多表查询设计。
一.通过TQuery组件从“教学”数据库中查询出教师编号为“01001”教师的授课情况。
要求在设计时执行SQL-SELECT语句来实现查询。
实现步骤如下。
(1)新建一个项目,在窗体上增加一个TQuery组件。
(Query1)
(2)设置TQuery组件的databasename属性。
(3)选中Query1组件的SQL组件的SQL属性,单击“…”按扭,在窗口中输入要完成所需功能的SQL语句。
(4)在窗口中添加一个TDataSource组件,设置它的Dataset属性值为Query1。
再在窗口中添加一个TDBGrid组件,设置相关属性。
(5)选中Query1组件,把它的Active属性设置为True。
结果如图所示:
二.通过TQuery组件从数据库中查询每个学生的学生姓名和平均成绩,并按平均成绩的降序排列。
要求通过程序代码执行SQL语句实现该查询。
该程序的设计界面如图所示:
运行时单击“执行查询”将查询的执行结果显示在DBGrid1组件中。
并设置所有组件的重要属性。
运行结果如图:
程序代码如下:
withquery1do
sql.Clear;
sql.Add('
select学生表.姓名,AVG(成绩表.成绩)AS平均成绩'
from学生表,成绩表where学生表.学号=成绩表.学号'
groupby学生表.姓名orderby2'
select*from教学表
where教学表.教师编号="
01001"
三.使用TQuery组件执行insert,delete,update语句来实现增加记录,删除记录和修改记录的功能。
设计一个应用程序,程序界面如图所示,实现增加,删除,修改记录的功能。
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('
insertinto学生表(学号,姓名,性别,年龄,班级)values("
0301011"
"
李小花"
女"
21"
O3信息管理"
)'
query1.ExecSQL;
button2.Enabled:
=true;
button1.Enabled:
=false;
table1.Refresh;
procedureTForm1.Button2Click(Sender:
deletefrom学生表where姓名="
李华"
button3.Enabled:
procedureTForm1.Button3Click(Sender:
update学生表SET年龄=年龄+1where性别="
男"
end
实验八
使用TQuery组件进行动态查询,数据控制编程设计
熟悉设置参数进行动态查询的方法
使用连接字符串、Params属性实现参数查询
1.使用字符串连接符“+”实现动态查询
设计一个查询教师授课情况的应用程序。
程序的设计界面如图所示,程序的运行界面如图所示。
程序运行时,在“教师编号”后面的编辑框中输入一个教师号后单击“动态查询”,该教师的授课情况将在DBGrid1组件中显示出来。
组件属性设置及其作用如表所示。
组件值
属性名
属性值
作用
Query1
DatabaseName
‘ACCJIAOXUE’
通过它执行SQL命令
DataSourse1
DataSet
链接Query1和DBGrid1
DBGrid1
DataSourse
显示查询执行的结果
Label1
Caption
‘请输入教师编号’
Edit1
Text
‘’
输入要查询的教师号
Button1
‘动态查询’
单击它将根据输入的教师号查询
运行界面:
var
JSH:
String;
jsh:
=Edit1.Text;
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('
SELECT*From课程表'
WHERE教师编号='
+JSH+'
Query1.Prepare;
Query1.Open;
2.使用Params属性实现参数查询
编写一个根据用户输入的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库技术 B 数据库技术 B实验指导书 数据库技术 实验 指导书