当前位置:首页 > 专业课程设计I报告 - 民航票务管理与售票系统 - 图文
Passenger—用户信息表
Flight—航班信息表
P_ticket—票务信息表
3.1.2数据库的完整性约束规则的说明(主键、外键等)如下图所示:
4
其中选定了级联更新和删除相关的字段和记录可以在我修改flight表和
passenger表的主键信息时间接的达到修改票务信息表的目的。
四、详细设计
(1).系统的登陆界面如下图所示:
说明:本窗体需要和数据库里的passenger表相关联,通过ADOconnection1和ADOquery1及datasource1三个控件配合,登陆按钮被点击是触发函数如下:
with adoquery1 do//对用户输入的邮箱地址和密码在passenger表中查询 begin close;
sql.clear;
sql.text:=('select * from passenger where 邮箱地址=:a and 密码=:b '); parameters.parambyname('a').value:=trim(edit1.text); parameters.parambyname('b').value:=trim(edit2.text);
5
open;
if recordCount=1 then //如果存在符合输入的记录则跳转到查询主页 begin
form1.Visible:=false ; form3.show;
user_id:=edit1.Text;
manager:='90231@qq.com'; //系统中自己设定的管理员账号 if user_id=manager then //如果用户用的是管理员的账号 begin
form3.bitbtn2.Visible:=false ;//管理员不能修改用户信息 form3.BitBtn8.Visible:=true; //管理员对信息管理的按钮可见 form3.label3.caption:='管理员' end else
begin
form3.BitBtn2.Visible:=true; //允许普通用户修改用户信息 form3.BitBtn8.Visible:=false; //不具有信息管理的权限 form3.Label3.Caption:='普通用户'; end; end
else
showmessage('用户名或密码输入错误!');//密码验证错误,输出提示 end;
(2).新用户的注册界面如下图所示:
说明:在输入用户邮箱的时候,光标进入到edit控件之内我写了一个触发函数:checkbox1.Checked:=false;
6
checkbox1.Caption:='帮你验证邮箱';//显示界面友好 而当光标移开edit控件后也有一个触发函数:
if (pos('@',edit1.text) <=0) or (length(edit1.Text)<5) then//没有‘@’字符或者 begin
showmessage('邮箱地址格式不正确,请重新输入!') ;//字符长度小于5为非法 edit1.Text:=''; end else
begin
checkbox1.Checked:=false; //初始化checkbox标签属性 with adoquery1 do //在用户表中对此地址进行查询 begin close;
sql.clear;
sql.text:=('select * from passenger where 邮箱地址=:a '); parameters.parambyname('a').value:=trim(edit1.text); open;
if recordCount=1 then //存在则输出提示 begin
checkbox1.Checked:=false ;
checkbox1.Caption:='邮箱已被注册!请重新输入'; edit1.Text:='' ; end else …….. end;
另外,我还通过重复输入密码的验证,联系电话输入长度的限制等,使用户注册信息更加合理,也更加人性化。
(3).普通用户通过登录界面之后的查询界面如下:
7
共分享92篇相关文档