delphi 数据库编程.docx
《delphi 数据库编程.docx》由会员分享,可在线阅读,更多相关《delphi 数据库编程.docx(14页珍藏版)》请在冰豆网上搜索。
delphi数据库编程
福建工程学院
实验报告
专 业:
计算机科学与技术
班 级:
计算机1002
座号:
3100301210
姓名:
谢振家
日期:
2012.4.8
实验题目
数据库编程
(一)
实
验
报
告
内
容
一、实验目的:
1.掌握ADO组件、datasource、DBGrid组件的使用。
2.理解基于数据库应用程序的设计方法。
二、实验时间:
2012.4.3
三、实验地点:
c2-101
四、实验内容与步骤:
1.在数据库“student”中创建在校学生基本信息表。
并按要求设置表属性。
(1)学生基本信息表。
并参考此表建立毕业生基本信息表。
字段名
说明
要求
Xh
学号
主键
Xm
姓名
必填字段
Xb
性别
Csrq
出生日期
Jg
籍贯
Bjbh
班级编号
外键
Zw
职务
Tc
特长
MM
系统登录密码
JTDZ
家庭地址
bz
备注
思考:
1)学号能否设置为数字型,为什么?
不能设置为数字型,学号需唯一
2)出生日期能否用“年龄”替代,为什么?
可以,使用当前时间减去年龄即为出生日期,但是年龄会变最后使用出生日期
3)在该表中输入10条记录。
(2)建立班级信息表。
该表包含“班级编号、班级名称、入学年份、所在系、所学专业、人数、辅导员、班长、班长联系电话”等信息,设置“班级编号”为主键,并在该表中输入我们专业班级的记录。
并参考此表建立专业信息表。
(3)创建“课程信息”表。
该表包含“课程编号、课程名称、学分、课时、适用专业”等信息,并设置主键。
选择本学期我们所学课程5门,将其信息输入到该数据表中。
(4)创建“教师基本信息表”,该信息表包含“教师编号、教师姓名、联系电话、EMAIL”等信息,并设置主键。
向该表输入5条记录。
(5)创建“学生学习成绩”信息表,包含“课程编号,教师编号,学生编号,学习成绩”并设置学习成绩为0-100分。
(6)实现”新生入学”、“在校学生信息修改”、“在校学生信息查询”、“学生毕业处理”等功能,可使用存储过程。
2.使用ADO组件、Datasource、DBGrid等组件完成:
(1)主界面包含学生信息管理,班级信息管理,教师信息管理,课程信息管理,学习成绩管理等菜单,在每个菜单下面包含子菜单,如“学生管理”包含”新生入学”、“在校学生信息修改”、“在校学生信息查询”,“学生毕业处理”等菜单项。
见1-(6)。
学生毕业处理是不允许修改学生信息,备注里标明为毕业生?
(目前不会)
(2)实现”班级信息”查询,并将FORM命名为”班级信息管理”,显示“计算机****”班级信息。
(****可用本班级名称代替)(提示:
班级信息表)
(3)在FORM”班级信息管理”中完成增加新班级信息、修改班级信息等操作。
新增班级:
班级信息修改:
表修改后要保存:
(其他表的保存功能代码一致)
(4)创建”班级信息”查询,在EDIT1中输入班级名称,显示该班级信息。
班级信息查询:
其他如:
教师信息管理、课程信息管理、学生成绩管理与上基本一致这里不一一列出。
(5)请利用“班级信息表”和”学生基本信息管理表”的两个表,创建查询。
命名为按“班级名称”查询.并查询出班级名称为“计算机****”所有学生的信息。
(需要使用到两个表)
代码如下:
procedureTForm1.N19Click(Sender:
TObject);
var
str:
string;
begin
form9.show;
ADOquery6.Close;
adoquery6.SQL.Clear;
str:
=INputBox('学班级名称查询','请输入班级名称:
','0');
ADOquery6.SQL.Add('selectxh,xm,xb,csrq,jg,class.bjbh,zw,tc,mm,jtdz,student.bzfromclass,student');
ADOquery6.SQL.ADD('whereBjmc='''+str+'''');
Adoquery6.Open;
end;
(6)使用动态查询完成:
1)按姓名查询同学的基本信息。
2)多条件查询:
如:
查询班级名称为“计算机0701”的所有男生信息。
//按班级及性别查询
procedureTForm1.N22Click(Sender:
TObject);
var
clas,sex:
string;
begin
form9.show;
ADOquery6.Close;
adoquery6.SQL.Clear;
clas:
=INputBox('按班级及性别查询','请输入班级名称:
','0');
sex:
=INputBox('按班级及性别查询','请输入性别:
','男');
ADOquery6.SQL.Add('selectxh,xm,xb,csrq,jg,class.bjbh,zw,tc,mm,jtdz,student.bzfromclass,student');
ADOquery6.SQL.ADD('whereBjmc='''+clas+'''andXb='''+sex+'''');
Adoquery6.Open;
end;
(7)设计登录窗体,使用帐号和密码进行登录。
若成功,则转入主窗体,否则提示错误。
输入的登录信息有误的情况:
如果信息无误的话则跳出主窗口~
(8)完成其他功能。
主界面:
实验要求:
E-R图,表的说明,界面设计,功能实现。
五、实验总结:
通过本次试验我更加了解了ADOconnection组件的使用,
掌握了2000,20005,2008版本的连接。
且对SQL较为全面的复习了一遍。
程序的功能待扩展,如对学生成绩的录入应该只有教师身份才有权限等等。
此外,谢谢老师课外的指导,让我更快得完成本次实验。
教
师
评
定
签字:
年月日