影碟出租管理系统Word文档格式.docx

上传人:b****5 文档编号:20533607 上传时间:2023-01-23 格式:DOCX 页数:16 大小:122.83KB
下载 相关 举报
影碟出租管理系统Word文档格式.docx_第1页
第1页 / 共16页
影碟出租管理系统Word文档格式.docx_第2页
第2页 / 共16页
影碟出租管理系统Word文档格式.docx_第3页
第3页 / 共16页
影碟出租管理系统Word文档格式.docx_第4页
第4页 / 共16页
影碟出租管理系统Word文档格式.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

影碟出租管理系统Word文档格式.docx

《影碟出租管理系统Word文档格式.docx》由会员分享,可在线阅读,更多相关《影碟出租管理系统Word文档格式.docx(16页珍藏版)》请在冰豆网上搜索。

影碟出租管理系统Word文档格式.docx

◆租借信息:

包括影碟编号、借出日期、应还日期、押金、租金、罚金;

◆出租影片信息:

日期、租出影片、租金。

图2 

影碟出租管理系统功能模块关系图

2.2数据库概念结构设计

得到上面得数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体以及他们之间的关系为以后的逻辑结构打下基础

根据设计规划出实体集有:

影片信息实体、用户信息实体、租借信息实体、出租影片信息实体,各实体的具体描述ER图如下:

图3 

ER图

2.3数据逻辑结构设计

基于上面实体之间的关系,即可形成数据库中的表之间的关系。

数据逻辑结构设计就是把数据库概念结构转化为具体的DBMS(SQL2000)数据库所支持的实际数据模型。

影碟管理系统数据库中的各个表格的设计结果如下面的表格所示:

表2.3.1影碟信息Vedioinfo

列名

数据类型

是否为空

说明

Discid

Char(8)

NO

影碟编号(主键)

Discname

Char(30)

YES

影碟名称

Number

int

张数

Star

演员

Duydata

datetime

日期

Price

real

价格

Ibstract

Char(50)

表2.3.2 

用户信息表Userinfo

Id

用户编号(主键)

Name

用户姓名

Register

注册时间

Deposit

月金

Phone

Char(12)

电话

Returndata

到期日期

表2.3.3出租信息表Returned

影碟信息(主键)

Loandate

借出日期

Returndate

应还日期

Char(10)

押金

Hire

租金

Fine

罚金

3数据库的实现

4、应用程序的设计

4.1登录窗口设计

4.1.1用户登陆窗口设计

登录窗口的创建创建是依次单击FILE---NEW---WINDOWS,然后命名为w_login,(其他窗口创建类似,故不再累述)

在上图“确定”按钮的clicked事件中写入

stringpassword,is_password

password=sle_1.text

ifddlb_1.text="

"

then

messagebox("

提示"

"

请选择操作级别"

return

endif

selectpassword

into:

is_password

fromispassword

wherename=:

ddlb_1.text;

ifpassword=is_passwordthen

open(w_main)

ifddlb_1.text="

高级管理员"

m_main.m_影碟管理.m_修改口令.enabled=enabled

endif 

close(w_login)

else

警告"

口令有误,请重新输入"

sle_1.text="

在上图“取消”按钮的clicked事件中写入(其他的“取消”事件都是关闭窗口,故不再累述)

close(parent)

4.1.2口令修改窗口设计

创建“修改密码”窗口并布局好控件后,在上图“确定”按钮的clicked事件中写入

stringis_password

ifis_password=sle_old.textthen

ifsle_new.text=sle_new2.textthen

updateispassword

setpassword=:

sle_new.text

wherename=:

修改成功!

sle_old.text="

sle_new.text="

sle_new2.text="

else

两次输入新口令不一样"

endif

原口令错误"

在“取消”按钮写入(即将表单清空,类似功能不在累述)

sle_old.text="

sle_new.text="

sle_new2.text="

4.2主窗口设计

4.2.1菜单设计

登录窗口的创建创建是依次单击FILE---NEW---PBObject---MENU,然后命名为m_main,

如图所示,创建相应的菜单。

如果向实现某一菜单的功能(即跳转到相应的页面),则在clicked事件中写入

opensheet(w_add,w_main,6,original!

4.2.2应用程序主窗口设计

新建一窗口后,将菜单m_main添加进来即可。

4.3影碟管理模块设计

4.3.1影碟入库窗口设计

创建“新片入库”窗口并布局好控件后,在上图“确定”按钮的clicked事件中写入

intis_number

doubleis_max,is_discid,ll_id

stringis_name,is_star

dateis_duydate

doubleis_price

ll_id=double(em_discid.text)

selectdiscid

is_discid

fromVideoinfo

wherediscid=:

ll_id;

ifem_discid.text="

请输入编号"

em_discid.setfocus()

ifis_discid<

>

0then

编号重复,请重新输入"

is_name=sle_name.text

ifis_name="

请输入影碟名称"

sle_name.setfocus()

is_number=integer(em_number.text)

ifis_number=0then

请输入影片的盘数信息"

em_number.setfocus()

ifsle_star.text="

请输入主演信息"

sle_star.setfocus()

is_star=sle_star.text

ifisdate(em_date.text)then

is_duydate=date(em_date.text)

请输入正确的日期格式"

em_date.setfocus()

ifem_price.text="

请输入价格"

is_price=double(em_price.text)

insertintoVideoinfo

(discid, 

discname,number,star,duydate,price,ibstract)

values

(:

ll_id,:

is_name,:

is_number,:

is_star,:

is_duydate,:

is_price,:

mle_ibstract.text)

commit;

ifSQLCA.sqlcode<

rollback;

commit;

messagebox("

影片已经添加!

sle_name.text="

sle_star.text="

mle_ibstract.text="

em_discid.text=string(ll_id+1)

4.3.2影片预览窗口设计

此功能直接用按片名查询窗口来实现,故在此不累述。

4.3.3旧片删除窗口设计

创建“旧片删除”窗口并布局好控件后,在上图“删除”按钮的clicked事件中写入

dw_1.deleterow(dw_1.getrow())

在上图“修改”按钮的clicked事件中写入

dw_1.update()

4.4影碟租借模块设计

4.4.1租借影碟窗口设计

创建“影碟租借”窗口并布局好控件后,在上图“租借”按钮的clicked事件中写入

intis_times

stringis_id,is_discid

is_id=sle_1.text

ifis_id="

请用户编号!

sle_1.setfocus()

is_discid=sle_2.text

ifis_discid="

请影碟编号!

sle_2.setfocus()

is_times=integer(sle_3.text)

ifsle_3.text="

请租借天数!

sle_3.setfocus()

insertintoLends

(Id, 

Discid, 

Times)

Values 

(:

is_id, 

:

is_discid, 

 

:

is_times)

租借信息输入数据库中"

sle_1.text="

sle_2.text="

sle_3.text="

4.4.2归还影碟窗口设计

在“影碟租借”窗口跳到“影碟归还”,在上图“确定”按钮的clicked事件中写入(显示该用户的租借信息)

stringis_id

longrow,row_count

is_id=sle_4.text

请输入用户编号"

dw_1.setfilter("

Id='

+is_id+"

'

dw_1.filter()

dw_1.retrieve()

row_count=dw_1.rowcount()

ifrow_count<

1then

对不起,暂无此用户"

在上图“归还”按钮的clicked事件中写入

intnow_row,ret

now_row=dw_1.getrow()

dw_1.deleterow(now_row)

ret=messagebox("

确定要归还?

question!

yesno!

2)

ifret=2then

dw_1.retrieve()

dw_1.update()

4.5查询模块设计

4.5.1按片名查询窗口设计

创建“按片名查询”窗口并布局好控件后,在上图“查询”按钮的clicked事件中写入

stringlp_name

lp_name=sle_name.text

Discname='

+lp_name+"

对不起暂无此影片"

4.5.2按主演查询窗口设计

“按主演查询”与“按片名查询”实现方式相同,故在此不再累述。

4.5.3按日期查询窗口设计

“按时间查询”与“按片名查询”实现方式相同,故在此不再累述。

(注:

PB和SQL2000Datatime类型不匹配)

4.6月租管理管理模块设计

4.6.1登记月租用户窗口设计

创建“月租用户登记”窗口并布局好控件后,在上图“查询”按钮的clicked事件中写入

stringis_id,is_name,is_phone,lid

dateis_startdate,is_enddate

intis_deposit

is_id=em_id.text

select 

Id

lid

fromUserinfo

whereid=:

is_id;

ifem_id.text="

orlid<

em_id.setfocus()

ifsle_name.text="

orisnull(sle_name.text)then

请输入用户姓名"

ifsle_phone.text="

orisnull(sle_phone.text)then

请输入联系电话"

sle_phone.setfocus()

is_phone=sle_phone.text

ifem_deposit.text="

orisnull(em_deposit.text)then

请输入押金"

em_deposit.setfocus()

is_deposit=integer(em_deposit.text)

ifisdate(sle_date.text)then

is_startdate=date(sle_date.text)

请输入日期"

sle_date.setfocus()

is_enddate=date(year(is_startdate),month(is_startdate)+1,day(is_startdate))

insertintoUserinfo

Name, 

Phone, 

Register, 

Deposit, 

Returndate, 

Number)

VALUES(

is_name, 

is_phone, 

is_startdate, 

is_deposit, 

is_enddate, 

0);

em_id.text=string(integer(is_id)+1)

sle_phone.text="

sle_name.setfocus()

4.6.2删除月租用户窗口设计

创建“修改月租用户”窗口并布局好控件后,在上图“删除”按钮的clicked事件中写入

是否要删除"

是否修改"

ifret=1then

5编译和发布

完成以上设计和实施后,在数据库中装载一定量的数据,然后最终对整个程序运行一遍。

单击FILE---NEW---PROJECT---APPLICATIONWIZARD,然后按期默认就可以创建可执行文件了。

你还可以桌面创建一个快键方式,并改变成你想要的图标(如下图所示)。

6.总结和收获

1.由于加入软件学院冰峰工作室,未能按正常安排时间上机,在此向老师表示歉意。

但此次课程设计都是我利用课下时间自己独立完成,并没有因为时间紧而放低要求。

2.权限管理。

数据库用SQL2000实现,但未对其用户权限做过多设置,而是通过菜单来实现。

当以高级管理员身份登录时,其拥有全部的权限,所以菜单上的功能使对其可用的。

当以普通用户身份登录时,则某些菜单功能对其隐藏,通过这可以实现权限管理。

3.数据类型不匹配。

SQL2000中Datatime与PB中不匹配,参阅相关的资料仍无法解决,所以有关Datatime变量未实现。

同时由于原例中租借管理功能未详细讲解实现过程,此版本为自己设计的实现。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 艺术创意

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1