软件工程大作业报告.doc
《软件工程大作业报告.doc》由会员分享,可在线阅读,更多相关《软件工程大作业报告.doc(41页珍藏版)》请在装配图网上搜索。
酒店管理系统 系统报告 ◆课题名称: 酒店管理系统 ◆任课教师: 刘 福 明 ◆班 级:2008级软件工程2班 ◆小 组 长:张润森(200806084206) ◆小组成员:张宗林(200806084204) 黄 河(200806084247) 日期:2010年12月25日 摘 要 酒店管理是酒店日常运作的一个重要环节,学习制作酒店管理系统是很有必要的,同时,酒店管理系统也是服务行业管理软件的一个综合性代表,很具有实践的意义。 本酒店管理系统是用PowerBuilder和Microsoft access制作而成,主要包括客户信息登记、分配房间、消费管理、结账和统计以及员工信息管理等主要功能。根据客户需求给其分配房间,并且对客户在酒店的消费情况进行统计以及客户结账,系统也对员工信息进行统计,管理员可以给予员工登录系统的权限。根据需要,系统建立了6个表,分别用来记录客户信息、员工信息、消费分类、客户消费档案、房间信息和客户住房信息。房间有三种状态,即“已分配”、“已预订”、“未分配”,员工有三种权限即:“T”、“U”、“F”分别代表管理员权限和一般用户权限,“F”权限不能登录系统,而管理员是由系统默认。这些状态分别可以对房间和员工进行管理。 结论主要介绍了酒店管理在酒店日常运作中的作用,以及酒店管理系统的必要性。整个系统的开发过程包括:可行性分析、需求分析、总体设计、详细设计、系统实现以及测试计划。其中关键的技术包括数据库的建立,数据库的连接,数据的添加、删除和更新。为了系统的顺利完成,开发人员将要密切合作和详细的分工。 关键词:酒店管理系统、PowerBuilder、Microsoft access、数据库 分 工 事 件 人力分配 可行性分析 黄河、黄河 需求分析 张润森、黄河、张宗林 系统设计 张润森、黄河、张宗林 代码实现 客户信息管理 员工管理 张润森 房间管理 张宗林 客户消费管理 黄河 结账与统计 张润森 测 试 张润森、黄河、张宗林 维 护 张润森、黄河、张宗林 目 录 1. 前 言 5 1.1 背景 5 1.2 编写目的 5 1.3 定义 5 2. 可行性分析 6 2.1 技术上可行性 6 2.2 经济上的可行性 6 2.3 管理上的可行性 6 2.4 结论 6 3. 需求分析 7 3.1 具体需求 7 3.1.1 功能需求 7 3.2 数据流图 8 3.3 数据字典 11 3.4 实体联系图 11 3.4.1 实体图 11 3.4.2 总体E-R图 13 3.5 性能需求 13 3.6 数据管理能力需求 14 3.7 故障处理需求 14 3.8 其他需求 14 3.9 运行环境需求 14 4. 总体设计 14 4.1 系统分析 14 4.2 系统设计 15 4.2.1 软件组织结构 15 4.3 功能说明 16 4.4 重要数据的数据结构设计 17 4.4.1 变量设计 17 4.5 函数设计 17 5. 详细设计 17 5.1 数据库的详细设计 18 5.2 数据库的实现 18 5.3 界面设计 19 5.3.1 系统登录界面(图5-1) 19 5.3.2 系统主界面(图5-2) 20 5.4 系统功能详细说明 20 5.4.1 客户信息管理模块 20 5.4.2 房间管理模块: 20 5.4.3 客户消费管理模块: 21 5.4.4 结账管理模块: 21 5.4.5 员工管理模块: 21 6. 系统实现 22 6.1 系统登录模块 如图6-1 22 6.2 客户信息登记模块 23 6.3 客户房间分配模块 24 6.4 空余房间管理窗体 25 6.5 餐饮管理窗体 26 6.6 娱乐消费管理窗体 27 6.7 酒店统计管理窗体 28 6.8 结账退房窗体 29 6.9 员工信息管理窗体 30 7. 系统测试 30 7.1 登录测试 30 7.2 系统功能模块测试 31 8. 使用说明 33 8.1 运行环境 33 8.2 性能说明 33 8.3 操作说明 33 总 结 33 附 录: 34 1、路径初始化函数代码: 34 2、连接数据库的代码 35 3、登录窗体的登录按钮的代码: 36 4、客户信息添加功能的代码: 37 5、结账功能的代码: 37 提示: 38 1. 前 言 1.1 背景 现代社会,科技飞速发展,电脑不断普及。现代化酒店组织庞大、服务项目多、信息量大,要想提高劳动生产、降低成本。提高服务质量和管理水平,进而促进经济效益,必须借助计算机来进行现代化信息管理。酒店管理系统正是为此设计开发的 1.2 编写目的 可行性研究的目的是研究问题,花费最小的代价,以最快的速度提出解决问题的方法。经过对此项目的详细准确的研究,初拟系统实现报告,对软件开发中将要面临的问题及其解决方案进行初步设计及合理安排。明确开发风险及其所带来的经济效益。本报告经审核后,交软件经理审查。 1.3 定义 酒店管理系统(JDGLXT):JDGLXT分别是“酒店管理系统”的汉语拼音首字母缩写。 系统登陆模块:主要负责客户和管理员进入系统的一个身份验证。 客户基本信息管理模块:主要负责管理客户的个人信息。 房间分配管理模块:主要负责为客户分配房间。 餐饮管理模块:主要负责客户餐饮信息和消费菜金的信息管理。 娱乐管理模块:主要负责客户娱乐消费的信息管理。 统计和结账模块:对客户在酒店的住宿进行结账。 前台工作员工管理模块:主要负责对前台员工基本信息的管理。 2. 可行性分析 可行性研究的目的是付出最小的代价在尽可能短的时间里确定问题是否能解决,系统的可行性分析可以从以下几个方面研究: 2.1 技术上可行性 技术上的可行性主要分析现有技术条件能否顺利完成开发工作,软硬件能否满足开发者的需要等,这一特点非常适合计算机的特点,发挥计算机的数据处理速度快,准确率高的优势。现代计算机硬件与软件技术的飞速发展,为系统的建设提供了技术条件。由于酒店管理系统这一类的企业管理系统进行开发已有一定的时期,有很多成功的实例,技术基础也已经非常雄厚,因而技术上的是可行的。 2.2 经济上的可行性 主要是对项目经济效益进行评价,一方面是支出的费用,其中包括设备的购置费,软件开发费,管理和维护费,人员工资和培训费等。另一方面是取得的收益可以用钱来衡量的那部分以及使用本系统而提高的效率,节约的人力物力。基于企业的现有计算机及配套设备,建设MIS系统,大大降低了办公费用,提高办公效率,而且能检测数据效用,为企业提供方便。由于本酒店管理系统是由我及几个同学开发的,投入相对较少,但却能获得较大的收益,所以经济上是可行的。 2.3 管理上的可行性 主要是管理人员对开发信息系统是否支持,现有管理制度是否科学,规章制度是否齐全,原始数据是正确等。酒店管理系统比较完善的规章制度和管理方法为系统的建设提供了保障,一个软件设计的好坏,关键在于产品的可靠,稳定,便于维护,系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员进行补充、维护。 处理客户信息 处理客户信息 处理客户信息 处理客户信息 处理客户信息 处理客户信息 处理客户信息 处理客户信息 处理客户信息 2.4 结论 由于缺乏专业人士的帮助,并且缺少实际经验,该管理系统可能做的不太健全,远不是真正意义上的软件、工业产品,只能算作坊生产的产物。可能还存在缺陷。不足之处有待改进。 前景根据以上分析,我们认为开发此系统的条件已经具备,可以开始进行开发。并且我们相信此软件经济实惠,肯定具有良好的前景。.我们将会逐步完善该软件,尽可能地让满足客户的需求。让客人在他下榻的房间内感受到方便,快捷,温馨。同时保证投资者资金的安全性,资金稳步的回笼期,资金的合理回报率。因此我们开发的酒店管理系统可行! 3. 需求分析 3.1 具体需求 3.1.1 功能需求 (1)客户信息管理 ① 简述:顾客信息管理,包括信息存入,信息查询,信息修改,信息删除。 ② 输入:顾客信息 ③ 处理过程描述:客户信息存入数据库。 ④ 输出:操作成功或失败的提示信息。 (2)房间管理 ① 简述:房间信息管理包括查看房间的使用情况和房间状态以及更改房间状态,为客人提供订房参考 ② 输入:房间编号或者房间状态 ③ 处理过程描述:提供房间信息,让顾客选自己满意的房间并录入系统 ④ 输出:房间信息以及订房信息。 (3) 客户消费管理 ① 简述:管理顾客的消费,包括餐饮和娱乐两种消费 ② 输入:客人信息、消费类型和档次 ③ 过程处理描述:消费情况录入系统 ④ 输出:操作成功或失败的提示信息,产生消费清单 (4)结账与统计 ① 简述:顾客消费和住房结束结账付款以及酒店对客户消费进行统计 ② 输入:客人信息、 ③ 过程处理描述:顾客信息查询消费情况 ④ 输出:消费清单或者操作失败提示信息 (5)员工管理 ① 简述:员工信息管理,包括员工基本信息、上班情况及对各种信息的查询和修改。 ② 输入:员工信息 ③ 处理过程描述:由员工编号查询或修改各种信息 ④ 输出:操作失败提示信息 3.2 数据流图 绘制数据流图的目的是为了方便开发人员与用户的交流,以及为系统的设计提供依据。数据流图的绘制过程通常是采用自顶向下,逐层分解,直到功能细化为止,形成若干层次的数据流图。酒店管理系统的数据流图如下所示: 基本系统模型 顶层数据流图 一层数据流图 3.3 数据字典 名称:用餐档案 别名: 描述:客户在酒店所有用餐记录的集合 定义:个人消费档案=用餐地点+用餐金额+时间 位置:输出到个人消费档案 名称:客户档案 别名: 描述:记录客户的基本信息 定义:客户档案=姓名+性别+证件号 位置:输出到个人消费档案 名称:住房档案 别名: 描述:记录客户的住房信息 定义:住房档案=房间号+入住时间+姓名 位置:输出到个人消费档案 名称:消费娱乐档案 别名: 描述:客户在酒店的消费娱乐记录 定义:消费娱乐档案=消费项目+消费金额+时间 位置:输出到个人消费档案 名称:个人消费档案 别名: 描述:用户在酒店所有消费记录的集合 定义:个人消费档案=客户档案+住房档案+消费乐档案+用餐信息档案 位置:输出到个人消费 3.4 实体联系图 根据系统的功能需求画出实体联系图(E-R)图: 3.4.1 实体图 客户档案实体: 证件名 性别 姓名 证件号 客户档案 房间档案实体: 单价 房间等级 房间号 房间档案 状态 消费项目实体: 价格 消费名称 消费类型 消费项目 员工档案实体: 部门 性别 姓名 登录权限 员工号 员工档案 3.4.2 总体E-R图 客户档案 房间档案 消费项目 证件号 姓名 性别 房间号 房间等级 住房档案 入住时间 消费类型 消费名称 消费档案 消费时间 单价 退房时间 价格 1 1 1 N 员工档案 员工号 姓名 性别 部门 证件名 登录权限 状态 数量 3.5 性能需求 ① 精度 软件主要用于管理,不是科学计算,要求计算的精度不是很苛刻,所以输入/输出数据精度的要求不是很高,可以用浮点数。 ② 时间特性要求 软件运行的响应时间要求不超过1~2秒。 ③ 灵活性 软件具有升级功能,以满足用户的需求。 3.6 数据管理能力需求 本软件管理的数据大都以数据库的形式储存,主要包括房价信息,菜肴信息数据,客户信息数据,其中房价信息数据和菜肴信息数据基本不变,数据库大小基本不变,而客户信息数据随着时间的推移每天都在增加,客户信息数据需要定期进行整理和处理。 3.7 故障处理需求 本软件具有错误和异常的处理能力,基本不会有软件故障,保证软件能正在运行,有对数据库备份的功能,这样才能使用户满意。 3.8 其他需求 本软件有保密功能,设立了系统账号管理功能,用户登录时需要验证用户名及密码,对于三次密码输入错误的使用者则关闭此系统,这样保证了数据的安全。本软件使用也十分方便,以窗口的形式呈现给用户,很容易操作。 3.9 运行环境需求 内存:512M,硬盘:80G,操作系统为Windows系列。 4. 总体设计 4.1 系统分析 根据用户的要求以及对需求分析阶段对功能的分析,要实现客户的基本情况管理、房间分配管理、餐饮管理、娱乐管理、结帐处理、员工管理。 ⑴、客户的基本情况管理:客户入住时要对其信息进行登记,包括客户的姓名、性别、证件号——客户档案。 ⑵、房间管理:酒店空余房间的管理,并按照客户的要求把空余的房间分配给客户,并且其房间号、使用时间、入住客户的登记管理——住房档案。 ⑶、餐饮、娱乐管理:客户入住以后,在酒店的消费,酒店对客户的消费进行统计,消费类型、消费金额、消费时间、消费数量——消费档案(客户的各种消费都在相应的消费点进行现金支付,每次交费都建立在个人消费档案中)。 ⑷、结帐处理:客户消费结账以后,给出客户的消费报告单,酒店在月底对酒店的消费情况进行统计(前台工作人员根据客户的优惠卡给予相应的折扣优惠)。 ⑸、员工管理:对员工的信息进行管理,查询、添加、删除 4.2 系统设计 由问题分析我们确定了本系统需要哪些确切的功能模块和组织结构。 4.2.1 软件组织结构 本系统的总体结构采用菜单来调用窗体,利用窗体来进行管理、数据加工、信息查询等工作,系统的功能模块图如图4-1所示: 图4-1 酒店管理系统 客户 信息 管理 房间 管理 客户 消费 管理 结账 与统计 客户信息登记 客户住房 管理 空余房间管理 客户餐饮管理 客户娱乐管理 客户退房结账 酒店营业 统计 员工 管理 员工信息管理 4.3 功能说明 系统分为五个模块来对实现其功能需求,即:客户信息管理模块、房间管理模块、客户消费管理模块、结账与统计、员工管理 a、客户信息管理模块 ① 客户信息登记:对客户的信息进行登记 b、房间管理模块 ① 客户住房管理:为客户分配房间 ② 空余房间管理:对没被分配的房间进行管理,以便房间的分配 c、 客户消费管理 ① 客户餐饮管理:对客户在餐饮类的消费进行统计 ② 客户娱乐管理:对客户在娱乐类的消费进行统计 d、结账与统计 ① 酒店营业统计:对客户在酒店的消费进行统计和计算 ② 客户退房结账:客户为住宿结账 e、员工管理 ① 员工信息管理:员工信息的添加、查询、和删除 4.4 重要数据的数据结构设计 4.4.1 变量设计 在系统的代码实现的时候,必须用到一些变量,一般我们所用到的变量为两种,一是全局变量、二是局部变量。 全局变量以“global_”加字母作为变量名,如:global_name 局部变量不限制 4.5 函数设计 为了简化程序,并且提高代码的重要性,在编写代码时,对多次用到的代码段,定义成函数,在用到的地方直接调用函数。 全局函数以“gfunction_”加函数名,如:gfunction_Add(); 局部函数以“zfunction_”加函数名,如:zfunction_Add(); 5. 详细设计 在此阶段将对系统进行更详细的分析和设计,目的是确定如何具体地实现所要求的系统。 5.1 数据库的详细设计 在设计和实现代码之前必须设计好数据库,根据系统的总体E-R图装得到数据库的概念模式: ① 客户档案(证件号、姓名、性别、证件名称) Customer_arch(Customer_ID(20)、customer_name(12)、customer_sex(5)、ID_name(5)) ② 房间档案(房间号、房间等级、单价(元/天)) House_arch(House_NO(15)、house_level(12)、house_price(12)、house_state(12)) ③ 消费项目(消费类型、消费名称、单价) Cost_info(cost_NO(12)、cost_Name(25)、cost_Price(12)) ④住房档案(房间号、证件号、入住时间、退房时间) StayHouse_arch(House_NO(15)、Customer_ID(25)、in_time(20)、out_time(20)) ⑤消费档案(证件号、消费类型、消费时间、数量) Cost_arch(Customer_ID(25)、cost_NO(12)、cost_time(20)、cost_count(5)) ⑥员工档案(员工号、员工姓名、性别、部门、登录权限) Stuff_arch(Stuff_ID(20)、Stuff_Name(12)、Stuff_Sex(5)、stuff_p(12)、stuff_vlv 注:每个字段后面的括号内的值为其长度 5.2 数据库的实现 根据系统数据库的概念模式,可以得到应有如下的6个数据表: 表一:客户档案表 表二:房间档案表 表三:消费项目表 表四:住房档案表 表五:消费档案表 表六:员工档案表 5.3 界面设计 较好的界面能给用户一幕了然的感觉,也便于设计,系统的界面应该保持一致不随时间而改变,好的界面是能给用户提供帮助的。 5.3.1 系统登录界面(图5-1) 5.3.2 系统主界面(图5-2) 图5-2 5.4 系统功能详细说明 5.4.1 客户信息管理模块 目的:对客户的信息进行登记和保存。 功能:以直接登记和预定的两种方式对客户信息进行录入,建立相应的客户信息档案,并可对客户信息进行添加、删除、修改和查询。 性能:稳定、快速、准确。 输入项:客户的证件号、姓名、性别、证件名称。 输出项:相应的信息记录和相应的出错信息或提示。 5.4.2 房间管理模块: 目的:根据客户的要求给客户分配房间,并对剩下的房间进行管理。 功能:房间分等级,客户入住以后,建立相应的住房档案,方便对已经分配的房间和未分配的房间进行管理包括房间信息的查询。 性能:稳定、及时、正确。 输入项:客户的信息、入住时间、住宿时间、房间信息。 输出项:相应的信息记录和相应的出错信息或提示。 5.4.3 客户消费管理模块: 目的:对客户的消费信息进行管理以及对酒店的月消费进行统计。 功能:客户入住以后,在酒店的消费,酒店对客户的消费进行统计,包括消费类型、消费金额、消费时间,建立相应的消费档案包括客户对其信息的查询。 性能:稳定、快速、及时、正确。 输入项:消费类型,消费时间、价格。 输出项:相应的信息记录和相应的出错信息或提示。 5.4.4 结账管理模块: 目的:客户退房结账 功能:客户住宿期限到了以后,向酒店退房并支付相应的消费金额 性能:稳定、快速、正确 输入项:房间号、入住时间、退房时间、相应的折扣 输出项:住房所需的金额和相应的出错信息或提示 5.4.5 员工管理模块: 目的:管理员管理员工的信息 功能:对员工的信息进行统一管理,信息的添加、修改、删除和查询,以及给员工赋予登录系统的权限。 性能:稳定、快速、正确 输入项:员工号、员工姓名、性别、部门 输出项:员工的基本信息记录和相应的出错信息或提示 6. 系统实现 经过前面几个阶段对系统的分析之后,接下来是本系统的实现阶段。 6.1 系统登录模块 如图6-1 图6-1 本模块的主要功能是对操作用户的身份进行验证,只有系统管理员和默认的用户可以登录本系统。在进行系统登录过程中,登录模块将调用数据库里的员工档案表,对员工号和密码进行验证(密码也为员工号),只有输入正确后,才能进入系统。每次输入错误时,模块都会给出错误提示,当第三次输入错误时,给出“第三次输入错误,还有一次机会”的提示,当第四次输入错误时,自动关闭登录窗体。当输入正确以后,将进入系统,主界面如图5-2所示。 6.2 客户信息登记模块 图6-2 本窗体的主要功能是对客户的信息登记,按照提示输入相应的信息之后,该窗体将调用数据库中的客户信息档案表,对数据进行操作。当数据应经存在时将给出提示如图 6.3 客户房间分配模块 图6-3 该窗体主要功能是为客户分配房间,根据即时的房间信息和客户的要求,给其分配,如果客户还没有登记的话,必须先登记。该窗体也将对数数据库里的房间档案表和住房档案表进行数据的处理。在出错的情况下页会给出相应的提示。 6.4 空余房间管理窗体 图6-4 该窗体对空余房间进行管理,对空余房间的信息进行时时更新,还可以添加新的空余的房间和查看已经分配出去的房间。该窗体也要条用数据库里的房间档案数据表。在出错的情况下会给出相应的错误提示或者警告。 6.5 餐饮管理窗体 图6-5 该窗体是对客户的餐饮消费情况进行统计,这个模块需要客户进行现金支付,这也是用户的需求,该窗体主要是调用数据库里的消费类型表和消费档案表和客户档案表。 在出错的情况下会给出相应的警告和提示。 6.6 娱乐消费管理窗体 图6-6 和餐饮管理窗体一样该窗体是对客户的娱乐消费情况进行统计,这个模块需要客户进行现金支付,这也是用户的需求,该窗体主要是调用数据库里的消费类型表和消费档案表和客户档案表。在出错的情况下也会给出相应的警告和提示。 6.7 酒店统计管理窗体 图6-7 这个窗体的主要功能是对客户在酒店的消费情况进行管理,可以按照每个月或者每天来查看消费情况。需要对消费档案表进行调用和处理。 6.8 结账退房窗体 图6-8 该窗体非常重要,要求处理过程非常正确和有序。该窗体是对住宿结账的处理,根据打折卡的情况来进行打折和收费,在结账之后还必须更改房间的状态和注销客户信息表里的信息。涉及到客户档案表和房间档案表和消费档案表的处理。 6.9 员工信息管理窗体 图6-9 员工信息管理窗体,主要对员工的信息进行统计,管理员还可以对员工赋予系统登录的权限。主要是对员工档案表进行操作。 7. 系统测试 系统测试是保证软件质量,提高软件可靠性的主要活动之一。它实施对软件规格说明、设计规格说明和编码的审核。软件测试的目的是以最少的资源尽可能的找出软件中的错误和缺陷,测试的结果是为软件的维护提供依据。本次测试将大部分可能的值来检查系统程序的正确性,并通过测试得到必要的调试或者功能改进。 7.1 登录测试 当用户输入出错时会给出提示用户第n次输入错误,如图7-1 图7-1 当输入第三次错误时也会给出提示:如图7-2 图7-2 7.2 系统功能模块测试 在每个相应的功能模块中,测试人员分别输入错误的数据和正确的数据,查看相应的结果和提示。 在其测试中按照窗体界面的按钮或者图标的提示,查看处理的结果。 图7-3 如上图在客户信息添加的窗体中,点击添加按钮之后,会把左边文本框里的内容添加到数据表里面,并且会在右边的数据窗口里面显示出来。入下图 图7-4 每个功能模块在测试过程中都会像图7-3、图7-4一样,按照输入规则点击功能按钮后,会得到处理结果。在这里就不一一介绍。 8. 使用说明 该系统的使用说明大致可以分为:运行环境,性能说明和操作说明三个部分。 8.1 运行环境 硬件平台:硬盘空间20G以上; 内 存:256M以上 CPU:PⅢ以上 操作系统:Windows 2000/Windows xp/Windows 7/Vista 其他软件:Microsoft access 8.2 性能说明 系统对用户的请求需及时给出响应,无需连接互联网。有时可能受到计算机性能的影响。 8.3 操作说明 系统提供操作人员的登录,登录之后,操作人员在界面上选择相应的操作,点击按钮之后将数据存入数据库。使用比较简单。但是操作人员也须将按照要求进行操作。具体的操作,系统开发人员将给酒店操作人员进行操作培训。 总 结 本次课题的设计和实现,我们小组首先在以往的学习基础上,通过对相应资料的查阅和借鉴以及学习,了解信息管理系统的基础上掌握了开发酒店管理系统的基本方法,然后参考课题要求,以及对课题要求的分析,为设计和实现打下了基础。 由于时间和能力的原因,不能做一个功能更加完善的酒店管理系统,而仅仅从客户信息登记、房间管理、消费管理、员工信息管理、结账和统计这几个方面来进行系统的设计,各个模块都需要数据库的支持,这使得我们在开发系统中,对数据库的使用也有了更深一步的熟悉和了解,并取得了一定的成果。 由于能力的原因本次课题的设计还有很多不足的地方,一些功能的分析、设计和实现还有待进一步的提高和改善。 参考文献: 《软件工程导论》 (张海藩) 清华大学出版社 《现代软件工程》 北京希望电子出版社 孙涌 等 编著 附 录: 酒店管理系统功能模块的部分代码 1、路径初始化函数代码: AppInitPath=GetCurrentDirectory ( ) //得到当前应用程序的路径,如D:\demojx\pbsql if DirectoryExists(appInitPath+"\ico") then //函数DirectoryExists测试指定路径是否存在 IcoPath=AppInitPath+"\ico\" else if CreateDirectory(AppInitPath+"\ico")=1 then //创建目录成功返回1 IcoPath=AppInitPath+"\ico\" else return false end if end if if DirectoryExists(appInitPath+"\pic") then PicPath=AppInitPath+"\Pic\" else if CreateDirectory(AppInitPath+"\pic")=1 then //创建目录成功返回1 PicPath=AppInitPath+"\Pic\" else return false end if end if if DirectoryExists(appInitPath+"\db") then DBPath=AppInitPath+"\DB\" else if CreateDirectory(AppInitPath+"\DB")=1 then //创建目录成功返回1 DBPath=AppInitPath+"\DB\" else return false end if end if return true 2、连接数据库的代码 initpaths() //路径初始化函数 loadsystem () //创建数据源的函数 // Profile yjy512 SQLCA.DBMS = "ODBC" SQLCA.AutoCommit = True SQLCA.DBParm = "ConnectString=DSN=zrs" connect using SQLCA; if sqlca.sqlcode=0 then // sqlca全局事务对象,sqlcode=0表示连接成功 //open(w_main) //打开密码窗体 open(w_login) //打开主窗体 else messagebox("提示","ACCESS 2003数据库连接失败",StopSign!,Ok!) return end if 注: Loadsystem()函数的代码如下:(查找网上的资料) /*添加数据源名称zrs*/ registryset("HKEY_CURRENT_USER\software\odbc\odbc.ini\odbc data sources","zrs",regstring!,"Microsoft Access Driver (*.mdb,*.*)") /*添加相应项*/ registryset("HKEY_CURRENT_USER\software\odbc\odbc.ini\zrs","DBQ",regstring!,DBPath+"yjy512.mdb") registryset("HKEY_CURRENT_USER\software\odbc\odbc.ini\zrs","Driver",regstring!,"C:\WINDOWS\system32\odbcjt32.dll") registryset("HKEY_CURRENT_USER\software\odbc\odbc.ini\zrs","DriverId",ReguLong! ,25) registryset("HKEY_CURRENT_USER\software\odbc\odbc.ini\zrs","FIL",regstring!,"MS Access;") registryset("HKEY_CURRENT_USER\software\odbc\odbc.ini\zrs","SafeTransactions",ReguLong! ,0) registryset("HKEY_CURRENT_USER\software\odbc\odbc.ini\zrs","UID",regstring!,"") registryset("HKEY_CURRENT_USER\software\odbc\odbc.ini\tudou\Engines\Jet","ImplicitCommitSync",regstring!,"") registryset("HKEY_CURRENT_USER\software\odbc\odbc.ini\tudou\Engines\Jet","UserCommitSync",regstring!,"Yes") registryset("HKEY_CURRENT_USER\software\odbc\odbc.ini\tudou\Engines\Jet","MaxBufferSize",ReguLong! ,2048) registryset("HKEY_CURRENT_USER\software\odbc\odbc.ini\tudou\Engines\Jet","PageTimeout",ReguLong! ,5) registryset("HKEY_CURRENT_USER\software\odbc\odbc.ini\tudou\Engines\Jet","Threads",ReguLong! ,3) /* 注册HKEY_LOCAL_MACHINE*/ registryset("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Microsoft Access Driver (*.mdb,*.*)","APILevel",regstring!,"1") registryset("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Microsoft Access Driver (*.mdb,*.*)","ConnectFunctions",regstring!,"YYN") registryset("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Microsoft Access Driver (*.mdb,*.*)","Driver",regstring!,"C:\WINDOWS\system32\odbcjt32.dll") registryset("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Microsoft Access Driver (*.mdb,*.*)","DriverODBCVer",regstring!,"02.50") registryset("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Microsoft Access Driver (*.mdb,*.*)","FileExtns",regstring!,"*.*") registryset("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Microsoft Access Driver (*.mdb,*.*)","FileUsage",regstring!,"2") registryset("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Microsoft Access Driver (*.mdb,*.*)","Setup",regstring!,"C:\WINDOWS\system32\odbcjt32.dll") registryset("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Microsoft Access Driver (*.mdb,*.*)","SQLLevel",regstring!,"0") registryset("HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Microsoft Access Driver (*.mdb,*.*)","UsageCount",ReguLong!,4) 3、登录窗体的登录按钮的代码: string uid,xlv="T",alv="U" SELECT stuff_arch.stuff_id,stuff_arch.stuff_vlv INTO :uid , :global_vlv FROM stuff_arch where stuff_arch.stuff_id=:sle_user.text and stuff_arch.stuff_id=:sle_passwd.text and (stuff_arch.stuff_vlv=:xlv or stuff_arch.stuff_vlv=:alv ) ; if sqlca.sqlcode=0 then open(w_main) close(parent) else cs=cs+1 sle_user.SetFocus(); st_1.textcolor=rgb(255,0,0) st_1.text="输入第"+trim(string(cs))+"次出错" sle_user.text="" ; sle_passwd.text="" if cs=3 then st_1.text="输入第"+trim(string(cs))+"次出错," +"你还有一次机会" elseif cs=4 then messagebox("信息提示","用户名称或用户密码三次输入出错, 非法系统用户!",stopsign!) cs=0; close(parent) return end if end if 4、客户信息添加功能的代码: string vid,vname,vsex,vzjname,xid if rb_males.checked then vsex="男" elseif rb_female.checked then vsex="女" end if vid=sle_zjno.text vname=sle_name.text vzjname=ddlb_zjname.text SELECT customer_arch.customer_id INTO :xid FROM customer_arch where customer_arch.customer_id=:vid ; if sqlca.sqlcode=0 then messagebox("信息提示","该证件已经注册!") sle_zjno.setfocus( ) sle_zjno.text="" else INSERT INTO customer_arch ( customer_id, customer_name, customer_sex, id_name ) VALUES ( :vid, :vname, :vsex, :vzjname ) ; querrydw(); end if 5、结账功能的代码: string state="未分配" DELETE FROM cost_arch where cost_arch .customer_id=:ddlb_cusid.text ; if sqlca.sqlcode=0 then DELETE FROM stayhouse_arch where stayhouse_arch.customer_id=:ddlb_cusid.text and stayhouse_arch.house_no=:ddlb_huid.text ; if sqlca.sqlcode=0 then DELETE FROM customer_arch where customer_arch.customer_id=:ddlb_cusid.text ; if sqlca.sqlcode=0 then messagebox("提示:","处理成功") UPDATE house_arch SET house_state = :state where house_no=:ddlb_huid.text ; else messagebox("提示:","处理成功",stopsign!) end if end if end if ddlb_cusid.text="" ddlb_huid.text="" sle_1.text="" sle_2.text="" sle_3.text="" dw_1.dataobject="d_jiezhang_tuifang" ass="select * from stayhouse_arch_house_arch where customer_id="+ddlb_cusid.text+" and house_no="+ddlb_huid.text+" " dw_1.setsqlselect( ass) dw_1.settransobject( sqlca) dw_1.retrieve( ) 提示: 登录系统的用户名为:admin(管理员)、密码是:admin 普通用户:pub 密码:pub 系统使用时,需先录入客户的基本信息。如遇错误请与管理员联系。- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 作业 报告

链接地址:https://www.zhuangpeitu.com/p-6503642.html