资源描述
《Delphi程序设计》数据库设计实验报告
信管061班 第五组(学生档案管理系统)
小组成员:
艾克拜江(074631105) 组长
则比布拉(074631106)
肉苏力 (064631126)
努尔艾力(064631138)
阿依努尔(064631106)
米热尼沙(064631114)
一,实验目的:
用Delphi的开发数据库功能,熟悉Delphi的数据库开发环境和一些方法。熟练Ado引擎熟练使用数据库程序开发中的相关组件;对前面所学的知识做一总结与回顾。
二,实验内容:
三,实验步骤
我们小组选的是《大学生档案管理系统》,我们首先想好了系统的基本框比如,有登陆窗口
然后主界面,这里面有查询,添加,修改,删除等基本功能
我负责做系统的查询记录功能(逐步查询,条件查询),把其他功能按照同学们的能力给他们分配,我们遇到的第一个问题就是数据库表设计,因为我们班以前没学过Access 所以得自学,我把这个任务给了则比布拉同学,他自己开始自学用Access 设计了学生基本信息表。
最终他设计了一个数据库表DB1 里面包括<学生信息表>,《学生成绩表》,《用户表》。
我们用delphi的,Data Access,Datacontrol,ado等这些工具的控件来实现一个简单的《学生档案管理系统》,我在逐步查询功能当中用了delphi自己提供的DBNavigator控件实现了简单的下一条,上一条等这些功能。我还在用一个窗体实现了一条记录和全部记录做报表功能。用了ADOTable,DataSource,DBGrid,DBNavigator,SaveDialog,memo,button这些控件。
把一条记录做报表的代码如下:
var
i:integer;
begin
memo1.Lines.Clear;
for i:=0 to adotable1.FieldCount-1 do
begin memo1.Lines.Add(adotable1.Fields[i].FieldName+':'+adotable1.Fields[i].AsString);
end;
end;
把全部记录做报表的代码如下:
var
i:Integer;
begin
memo1.Lines.Clear;
ADOTable1.First;
while not ADOTable1.Eof do
begin
for i:=0 to ADOTable1.FieldCount-1 do
begin
memo1.Lines.Add(ADOTable1.Fields[i].FieldName+':'+ADOTable1.Fields[i].AsString);
end;
ADOTable1.Next;
end;
end;
保存报表的代码:(把SaveDialog1的DafaultExt和Filter属性设置为txt)
begin
with SaveDialog1 do
begin
Options := [ofOverwritePrompt];
OptionsEx := [ofExNoPlacesBar];
if Execute then
memo1.Lines.SaveToFile(Filename);
end;
end;
通过上面的这些代码可以把学生的基本信息单独或全部列出在mome1里面,还可以把mome1里面的内容以txt格式保存。
我最用功的阶段是条件查询,用户可以按照自己的需求进行各种查询,比如按照学号,性别,专业,姓名等字段查询。用条件查询功能当然用Adoquery控件,因为Adoquery控件是通过SQL语句实现对数据库数据的提取及操作,它可以直接运行数据定义语言DDL,它可以直接连接到数据库,也可以通过Adoconnection控件链接到数据库。
查找的代码如下:
var
sqlstr:string;
begin
sqlstr:='select*from 学生信息表 where(1=1)'; //设置要查询的字段
if edit2.Text<>'' then
sqlstr:=sqlstr+'and(姓名='''+edit2.text+''')';
if combobox2.Text<>'' then
sqlstr:=sqlstr+'and(专业='''+combobox2.Text+''')';
if combobox3.Text<>'' then
sqlstr:=sqlstr+'and(性别='''+combobox3.Text+''')';
if combobox1.Text<>'' then
sqlstr:=sqlstr+'and(政治面貌='''+combobox1.Text+''')';
adoquery1.Close;
adoquery1.sql.Clear;
adoquery1.sql.Add(sqlstr);
adoquery1.Open;
edit1.Text:='';
edit2.Text:='';
combobox1.Text:='';
combobox2.Text:='';
combobox3.Text:='';
panel1.caption:='总共找到'+inttostr(adoquery1.recordcount)+'条记录';
end;
end.
最近我们的考试太紧,所以时间的关系我没能实现课程信息表,和学生成绩表的查询功能。还有我们当初想实现数据库的统计功能可是最终没能实现。
开发环境:Borland Delphi 7
运行环境:windows xp
系统评价:
小组成员的任务安排和如下:
艾克拜江:实现查询功能(逐步查询,报表,高级查询)
肉苏力: 设计登录窗口,主界面(没能实现密码修改功能)
努尔艾力:实现添加学生基本信息,成绩添加功能;
则比布拉:设计数据库表,调试程序;
阿依努尔:实现对学生基本信息表删除功能;
米热尼沙:实现对学生基本信息表修改功能;
展开阅读全文