数据库课程设计运网物流管理系统.doc_第1页
数据库课程设计运网物流管理系统.doc_第2页
数据库课程设计运网物流管理系统.doc_第3页
数据库课程设计运网物流管理系统.doc_第4页
数据库课程设计运网物流管理系统.doc_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

0 0 吉首大学运网开发工作室吉首大学运网开发工作室 吉首大学新校区 2#221 电话摘摘 要要 运网物流管理系统是一个基于 ASP.NET 开发的 Web 物流管理管理系统。作为 B/S 结 构的 web 数据库管理系统,本系统具有所有 B/S 结果系统的优点,同时又具有 ASP.NET 的高 效的优势。 从技术上说,本系统采用了 C#编写,充分利用 ASP.NET 强大的组件 DATAGRID,结合 ADO.NET 对任务书中的物流管理的 SQL Server2000 数据库进行管理。通过本系统可以对数 据库执行添加、删除、修改、查询等全面的操作。系统支持分页功能,能支持大量数据的存 储。我利用具有高安全性的 Cookie 作为安全校验的依据,对用户的权限进行审核,提供系 统的安全保障。 从功能上说,本系统主要分为 2 大模块: 用户登陆模块和数据操作模块。通过用户登 陆模块能对用户身份进行核实和验证,通过数据操作模块能对物流系统的相关信息进行操作, 添加删除修改在一个页面内完成,直观简洁。 作为课程设计,本系统达到了设计任务的基本要求,并在其上才用了更先进的语言,提 供了更强大的扩展能力和更好的执行效率,作为一个完善的系统的雏形,本系统只要进入软 件开发的螺旋法则,不久之后就可以进化为一个成熟的,能让最终用户所接受的系统。 此次课程设计内容则是以 c# 作为开发语言,编写 程序,c#是一门全新的语言, 具有更强大的编辑和操作能力,在此过程中,我又开始了认真的从无到有的学习,通过锲而 不舍的实践操作和对各种相关书籍的钻研,终于理解了 c#的语言,并迅速开发出了本系统。 在学习和实践的过程中,我充分体会到了 c#和.Net 技术的强大,在学习的过程中,我 认识了几个来自 Microsoft 社区的 MVP,在通过和他们交流和认真学习他们编写的经验文章 后,我已经能更好的理解 .Net 平台的运行机制,从内核这个层次认识到了 Microsoft 给 作为程序员的我们带来了什么。 本文关于运网物流管理系统的设计是在何迎生何迎生老师的指导下完成的。经过一个学期的设 计,我们基本完成了任务。设计过程中,何迎生老师给予了我们极大的帮助与鼓励,在此,何迎生老师给予了我们极大的帮助与鼓励,在此, 我们对他的悉心指导表示衷心的感谢我们对他的悉心指导表示衷心的感谢! ! 关键字:运网物流管理关键字:运网物流管理,C#,ASP.NET,C#,ASP.NET, B/S,B/S, WebWeb 1 1 吉首大学运网开发工作室吉首大学运网开发工作室 吉首大学新校区 2#221 电话第一章第一章 绪绪 论论 在新的世纪里,信息技术迅猛发展,而网络技术和数据库技术又是信息技术最主要的核 心。于是,基于 Web 的数据库也就应运而生了。 随着 Internet/Intranet 技术的发展,开发基于 Web 的应用程序势在必行,数据库技术 更是需要和 Web 数据相结合,才是更为广阔的前景。ASP.Net 作为微软推出的新兴 Web 应用 程序开发技术,在数据库应用方面发挥着越来越重要的作用。 Internet 的普及和应用使人们的现代生活方式发生了深刻的变化,现在各大企业也加 快了信息化进程,并且都建立了自己的企业网。这为企业网络现代化创收提高效率提供了必 备的物质基础。企业总是处于新技术的最前沿地带,于是一个基于网络管理的应用系统的开 发也正蓬勃发展并发挥着巨大的作用。 基于以上原因,本文提出了一种网上实现物流管理系统,它能很好的解决以上的问题。 它改变了以往物流的运作方式,而是采用网上入港和出港,极大地便捷了企业的管理层了解 企业的运行和业务状态显著地提高了工作效率。系统引用了 ASP.NET 这一具有强大功能、用 于 Web 开发的全新框架。ASP.NET 在系统重处于操作系统内核与应用程序之间,使得应用程 序可以更好地利用操作系统提供的功能,并使得应用程序的开发更快、更简单。本系统采用 B/S 模式,其最根本的目的是让在企业的管理层便捷查看企业运行状态,操作业务员入港出 港操作,财务统计等,并且具有操作方便,响应快捷等优点。 2 2 吉首大学运网开发工作室吉首大学运网开发工作室 吉首大学新校区 2#221 电话第二章第二章系统概要设计系统概要设计 物流管理系统,在不同的物流公司有着自身的特殊性,公司的大小不同,主要面对对象不同, 则业务关系也相对的不同,运网物流管理系统 v2.0 版主要针对的是中小型物流公司。帮助 其实现现代化信息化的管理,由于时间有限,整个系统分阶段开发,本次开发为第一阶段, 主要实现系统的出港制单、报表打印、进港收货确认、系统的管理员增加、删除、修改等功 能。房管理、同行管理、统计分析等方面为第二阶段设计,在此不做介绍。 2 21 1 用户总体业务结构用户总体业务结构 物流管理系统,包括主要部分:进港业务、出港业务、客户管理、同行管理、统计分 析、进港财务、出港财务、系统设置。各业务包括的主要内容有:(在此只介绍第一阶段设 计) 出港业务:本公司操作员完成客人所要托运的货物的表单制作,输入货物的基本信 息,托运人基本资料和接收人基本资料,然后打印出报表与客人作为托运凭证。 进港业务:公司操作员接收货物信息,并确认货物信息中的条形码,确认到货,并 通知收货人接受货物。 系统管理:管理员在此管理页面中管理用户,增加用户,设置用户权限、输入和修 改管理员基本资料,修改个人的密码。 2 22 2 总体安全要求总体安全要求 1、保密性 机密或敏感数据库在存储过程、处理、传输过程中要保密,确保用户在 授权后才能访问。 2、完整性 保证系统中的信息处在一种完整和没有受到损害,防止因非授权访问、部 件故障或其它错误而引起信息篡改、破坏或丢失。企业建站数据库中。系统管理员可以访问 注册用户数据库,系统管理员分为不同的权限。对不同的管理员有不同的权限。如分为市场 部人员、用户管理员、财务管理员、超级管理员。不同权限的工作人员登录后,操作权限不 同。以适合实际应用的需求,如:市场部人员只能查看用户名单和联系方法;财务管理员可 以为付款用户开通网站;用户管理员可以对用户资料进行修改、删除操作;超级管理员可以 对管理员进行管理。注册用户只能对自己的数据库进行管理。 3、可靠性 保障系统在复杂的网络环境下提供持续、可靠的服务。 3 3 吉首大学运网开发工作室吉首大学运网开发工作室 吉首大学新校区 2#221 电话一、应用背景:一、应用背景: 1.1 简介 本系统作物流解决方案系列软件之一的运输管理系统,系统设计的目标是协助公路运输企业迅速发 展成为以本地向外辐射,具有强大的多式联运能力的物流服务商。运网物流在进行运输管理物流系统的 设计规划的过程中,基于以下指导思想:按尽可能低的总成本来创建顾客目标价值。因此,物流系统必 须具有高度的客户反应能力,同时能控制作业成本的变化 运网物流管理系统是吉首大学运网物流自主开 发的适用于广泛的公路运输企业、货代配载和第三方物流企业的运输管理系统. 1.2 背景 使用户和项目人员明确系统的功能、应用范围。 1.3 定义 Code 1.1(工作室自定义) 二、系统概要分析:二、系统概要分析: 4 4 吉首大学运网开发工作室吉首大学运网开发工作室 吉首大学新校区 2#221 电话系统 UML 用例模型 系统的功能性需求系统的功能性需求 功能序号功能名称功能说明 1 进港业务包含对出港制单,出港调度,货物装配,查找,生成报表 2 出港业务包含对进港受理,到货确认 3 财务管理业务财务统计 4 统计分析暂没实现 5 系统管理包含操作员的增加,删除,权限的分配 系统的非功能性需求系统的非功能性需求 A:A: 用户界面需求 简洁、易用、易懂,美观、大方、标准,具备一定的兼容性。 B:B: 软硬件环境需求 软件环境: 客户端:兼容当前安装 IE6.0 的 Windows 操作系统。 服务器:支持.NET 的Windows2000 服务版或 Windows2003 Server 5 5 吉首大学运网开发工作室吉首大学运网开发工作室 吉首大学新校区 2#221 电话硬件环境:586 以上计算机,打印机等。 C: 软件质量需求 易用、健壮、兼容性好、运行稳定、有一定安全保障 6 6 吉首大学运网开发工作室吉首大学运网开发工作室 吉首大学新校区 2#221 电话第三章第三章 系统总体设计系统总体设计 运网物流管理系统是满足中小型物流公司对货物信息管理要求,采用 Microsoft Visual Studio .NET 2003+SQL Server 2000(数据库)设计,程序可运行于 Windows 2000/xp/2003 下 Windows NT 及更高版本中所有支持 的网站服务器中。用户输入特 定的网络 IP 或域名,可以通过互联网络访问。 3 31 1 系统体系结构系统体系结构 运网物流管理系统采用 B/S 多层结构的数据库应该设计,系统分为:客户端、服务器、 Web 服务器、数据库服务器。基工作过程为: 客户端的电脑输入 IP 地址执行应用程序,连接到 Web 服务器,再由 WEB 服务器与服 务器连接。客户端不处理企业核心逻辑,只拥有部分应该逻辑。减少负载。 Web 服务器接收并处理浏览器的网页请求,并调用应用服务器的应用程序,接收处理 结果,并回送客户端。 应用服务器处理业务逻辑,接受输入,处理后返回结果。 数据库服务器处理业务数据,负责管理对数据的读写和维护,以及数据库的数据访问 权限。 3 32 2 系统软件开发平台系统软件开发平台 3 32 21 1 数据库管理系统选择数据库管理系统选择 Microsoft SQL Server 2000 中文版是基于客户端/服务器模式的新一代大型数 据库管理系统(DBMS),它在电子商务、数据仓库和数据库解决方案等应用中起着重要的核 心作用,可为企业的数据管理提供强大的支持,对数据库中的数据提供有效的管理,并采用 有效的措施实现数据的完整性及数据的安全性。 3 32 22 2 开发工具选开发工具选 ASP.NET 是由微软公司推出的用于 Web 应用开发的全新框架,是.NET 框架(即. NET Framework)的组成部分,它从现有的 ASP(Active Server Pages,活动服务器页) 结构体系上跨出了一大步,是对传统 ASP 技术的重大升级和更新。ASP.NET 是建立在. NET 框架的公共语言运行库上的编程框架,可用于在服务器上生成功能强大的 Web 应用 程序。 微软公司的.NET 框架是继 ActiveX 技术之后,于 2000 年推出的用于构建新一代 Inetnet 集成服务平台的最新框架,这种集成服务平台允许各各系统环境下的应用程 序通过因特网进行通信和共享数据。目前,因特网服务平台亟待解决的重要问题是系 7 7 吉首大学运网开发工作室吉首大学运网开发工作室 吉首大学新校区 2#221 电话统间的互通性问题,一些相关协议如 XML(eXtensible Markup Language,可扩展标记 语言) 、SOAP(Simple Object Access Protocol,简单对象存取协议)等,.NET 平台将 对这些协议提供支持,其意义可与当年 Windows 平台推出的意义相提并论,微软公司 将其称为“.NET 战略” 。也就是说,.NET 的最终目的就是让用户在任何地方、任何时 间,利用任何设备都能访问所需的信息、文件和程序。用户不需要知道这些文件放在 会地方,只需要发出请求,然后只管接收即 sk ,而所有后台的复杂性是完全屏蔽起来 的。同时,对于开发人员来说,更容易建立 Web 应用程序和 Web 服务,进一步简化对 应用程序的开发。 .NET 框架具有两个主要组件:公共语言库和.NET FrameWork 类库。公共语言运行 库是.NET 框架的基础。从层次上来看,.NET 框架包括三个主要组成部分:公共语言运 行时(Common Language Runtime,CLR 或称公共语言运行库) 、服务框架(Services Framework)和两类应用模板。两类应用模板包括传统的 Windows 应用程序模板 (Windows 表单)和基于 ASP. NET 的面向 Web 的应用程序模板(Web 表单和 Web 服务) , 其结构如图所示。 机器代码 编译 各种.NET 应用于程 序逻辑 JIT 编译 中间语言(IL)代 码 Visual Studio .NET 是用于快速生成企业级 ASP.NET Web 应用程序和高性能桌 面应用程序的工具。Visual Studio 包含基于组件的开发工具(如 Visual C#、Visual J#、Visual Basic 和 Visual C+) ,以及许多用于简化基于小组的解决 方案的设计、开发和部署的其他技术。 Visual Studio 支持 Microsoft .NET Framework,该框架提供公共语言运行库和 统一编程类;ASP.NET 使用这些组件来创建 ASP.NET Web 应用程序和 XML Web services。MSDN Library 也包括在内,它包含这些开发工具的所有文档。 3 32 23 3 系统总体功能模块系统总体功能模块 运网物流管理系统总共划分为:用户登陆模块、进港业务模块、出港业务模块、客户 管理模块、同行管理模块、统计分析模块、进港财务模块、出港财务模块、系统设置模块。 如图(3-1)所示 8 8 吉首大学运网开发工作室吉首大学运网开发工作室 吉首大学新校区 2#221 电话同行管理模块客户管理模块统计分析模块 运网物流管理系统 管理员登陆验证模块 进港业务模块出港财务模块进港财务模块系统设置模块出港业务模块 出 港 调 度 货 物 配 载 打 印 报 表 出 港 查 询 进 港 受 理 到 货 确 认 提 货 通 知 派 送 处 理 签 收 录 入 签 收 回 执 进 港 查 询 用 户 管 理 修 改 密 码 权 限 管 理 图(3-1) 3 33 3 系统需求描述系统需求描述 3 33 31 1 运网物流管理系统数据流图:运网物流管理系统数据流图: 系统流程图 N Y 开始 登陆 进港业务出港业务财务统计系统管理统计分析 结束 出 港 制 单 用 户 切 换 9 9 吉首大学运网开发工作室吉首大学运网开发工作室 吉首大学新校区 2#221 电话3 33 31 1 运网物流管理系统数据字典:运网物流管理系统数据字典: 现只给出运网物流管理系统第一阶段数据字典 数据流名:(出港管理)输入请求 来 源:需要托运货物的物住 流 向:进港业务 组 成:托运业主 ID(自动产生)+托运业主身份证号码+托运业主的姓名+托运业主的 单位名称+业主地址+业主联系电话号码+业主邮政编码码 数据流名:(进港管理)查询请求 来 源:出港中输入的数据 输 出:数据编码 组 成:托运业主身份证号码+编码 . . . . 第四章第四章 数据库设计数据库设计 五、数据表设计: E-R 模型 10 10 吉首大学运网开发工作室吉首大学运网开发工作室 吉首大学新校区 2#221 电话5.1 数据库结构及说明 11 11 吉首大学运网开发工作室吉首大学运网开发工作室 吉首大学新校区 2#221 电话物流管理系统数据表物流管理系统数据表及视图设计及视图设计: 管理员登陆表:(login) 列 名字符类型长 度备 注 UserIDint4主键 ID LoginNamechar20用户名 UserNamechar20用户姓名 PassWordtext16用户密码 MemberIDint4Member 表外码 privilegeint4用户权限 对 privilege 中的值进行说明:系统管理员(1) 、财务管理员(2) 、业务管理员(3) 用户资料表:(Member) 列 名字符类型长 度备 注 MemberIDint4主键 ID MemberNamechar20用户姓名 MemAddresschar50用户地址 MemPhonechar12用户电话 MemMomotext16用户备注 建立管理员信息用户视图:(login_VIEW) 列 名字符类型长 度备 注 UserIDint4主键 ID LoginNamechar20用户名 UserNamechar20用户姓名 privilegeint4用户权限 MemAddresschar50用户地址 MemPhonechar12用户电话 MemberIDint4MemberID BusinessBusiness 业务明细总表业务明细总表 编号字段名类型说明备注 1Bus_IDint业务流水号(自动)主键 2Bus_GoodIDint业务中货物的流水号外键 3Bus_TakeUnitIDint托运人的流水号编号外健 4Bus_RecverIDint收货人的流水号外键 5Bus_FromStation Char(20)从哪个站发货 6Bus_FromCityChar(20)从哪个城市发货 7Bus_ToStationChar(20)发往哪个联网站 8Bus_ToCityChar(20)发往哪个城市 9Bus_AcceptTimeDatetime业务接洽时间 10Bus_AcceptOptChar(20)业务接洽操作员 11Bus_CastFloat业务所需费用 12Bus_IsPaytext客户是否付款(现金/到付) 13Bus_Fisishedtext业务是否完成默认未处理 BusinessLogBusinessLog 业务操作日志表业务操作日志表 12 12 吉首大学运网开发工作室吉首大学运网开发工作室 吉首大学新校区 2#221 电话编号字段名类型说明备住 1Log_IDint日志 ID主键 2Log_BusIDint业务流水号外键 3Log_TimeDatetime日志产生时间 4Log_Infotext日志信息 5Log_OptIPtext业务操作 IP CommonWrapCommonWrap 常用包装表常用包装表 编号字段名类型说明备注 1WrapIDint包装类型 ID(自动产生)主键 2WrapNameChar(20)包装类名称 3WrapFeqint包装使用频率 EntrustEntrust 托运人明细表托运人明细表 编号字段名类型说明备注 1TakeUnit_IDint托运业主 ID(自动产生)主键 2EntrustManIDChar(18)托运业主身份证号码 3EntrustManChar(10)托运业主的姓名 4EntrustUnitChar(50)托运业主的单位名称 5EntrustUnitAddrtext业主地址 6EntrustUnitPhoneChar(13)业主联系电话号码 7EntrustUnitPhoneChar(7)业主邮政编码码 ReceiverReceiver 收货人明细表收货人明细表 编号字段名类型说明备注 1Recv_IDint收货业主 ID(自动产生)主键 2RecverManIDChar(18)收货业主身份证号码 3RecverManChar(10)收货业主的姓名 4RecverUnitChar(50)收货业主的单位名称 5RecverUnitAddrtext收货业主地址 6RecverUnitPhoneChar(13)收货业主联系电话号码 7RecverUnitZoneChar(7)收货业主邮政编码码 13 13 吉首大学运网开发工作室吉首大学运网开发工作室 吉首大学新校区 2#221 电话GoodGood 货物信息明细表货物信息明细表 编号字段名类型说明备注 1Good_IDint货物流水号自动产生)主键 2Good_NameChar(50)货物名称 3Good_WrapTypeChar(50)货物包装类型 4Good_Volumefloat货物所占体积 5Good_Weightfloat货物重量 6Good_OperatorChar(20)货物录入操作员 7Good_Quantityint货物数量(件数 8Good_SignalChar(10)货物的标签 9Good_ArriveChar(10)货物是否到站默认在途中 LoginLogin 登陆信息表登陆信息表 编号字段名类型说明备注 1UserIDint操作员 ID(自动产生)主键 2LoginNameChar(20)操作员登陆名 3UserNameChar(20)操作员名称 4PassWordChar(16)操作员登陆的密码 5MemberIDfloat操作员的详细信表 ID外键 6privilegeint操作员的权限1 为最高级 LoginLogLoginLog 登陆日志表登陆日志表 编号字段名类型说明备住 1Log_IDint日志 ID主键 2LogUserChar(20)登陆用户 3Log_TimeDatetime日志产生时间 4Log_Infotext日志信息 5Log_IPChar(10)登陆 IP BusinessViewBusinessView 视图视图 编号字段名类型说明备住 1RecverManIDr.RecverManID收货身份证主键 2RecverManr.RecverMan收货人姓名 3RecverUnitAddrr.RecverUnitAddr收货人的地址 4RecverUnitPhoner.RecverUnitPhone收货人的电话 5EntrustManIDe.EntrustManID发货人身份证 6EntrustMane.EntrustMan发货人的姓名 7EntrustUnitPhonee.EntrustUnitPhon发货人的电话 8EntrustUnitAde.EntrustUnitAddr发货人的地址 9Good_Nameg.Good_Name货物的名称 10Good_Signalg.Good_Signal货物的标签 11Bus_IDb.Bus_ID业务的流水号 12Bus_GoodIDb.Bus_GoodID货物的 ID 13Bus_RecverIDb.Bus_RecverID发货人的 ID 14Bus_FromStationb.Bus_FromStation发货站 14 14 吉首大学运网开发工作室吉首大学运网开发工作室 吉首大学新校区 2#221 电话15Bus_AcceptTimeb.Bus_AcceptTime业务的时间 16Bus_FromCityb.Bus_FromCity发货的城市 17Bus_ToStationb.Bus_ToStation目的站 18Bus_ToCityb.Bus_ToCity目的城市 19Bus_AcceptOptb.Bus_AcceptOpt业务操作员 20Bus_Castb.Bus_Cast业务的费用 21Bus_IsPayb.Bus_IsPay付款的方式 22Bus_Fisishedb.Bus_Fisished业务处理状态 23Good_Arriveg.Good_Arrive货物是否到站 24Bus_TakeUnitIDb.Bus_TakeUnitID发货人的 ID 备注:r r :dbo.Receiver,:dbo.Receiver, g:g: dbo.Good,dbo.Good, b:dbo.Businessb:dbo.Business 15 15 吉首大学运网开发工作室吉首大学运网开发工作室 吉首大学新校区 2#221 电话软件测试软件测试 一一 登陆测试登陆测试: 主界面主界面 生成报表生成报表 16 16 吉首大学运网开发工作室吉首大学运网开发工作室 吉首大学新校区 2#221 电话第五章第五章总总 结结 运网物流管理系统是运网开发小组:邓彬、汪庆春、邹奇、黄键四人在数据库原理及 设计授课老师何迎生何迎生的带领下,经历两个月的需求分析设计及一个月的代码编写,已经初 步完成系统的总体功能设计。初步满足了中小型物流管理公司的进港和出港的信息管理及系 统管理员的帐号管理。 本系统从界面设计到代码编写都为小组成员原创,系统中注入了小组成员的大量心血。 小组成员分工如下: 汪庆春:系统需求分析汪庆春:系统需求分析+ +代码编写。代码编写。 邓邓 彬:系统代码编写彬:系统代码编写+ +软件界面设计。软件界面设计。 邹邹 奇:系统软件测试。奇:系统软件测试。 黄黄 键:系统相关材料收集。键:系统相关材料收集。 小组成员首次接触 ASP.NET。并运用 的知识,运用 VS.NET 开发平台,借助 SQL 数据库。在何迎生老师何迎生老师的大力支持和帮助下,开发出运网物流管理系统。对本小组各成员都 有很大的激励。本次开发中,各成员的感触都很深。系统需求阶段,小组成员汪庆春走访吉 首市各大中小型物流公司,详细记录了如“中铁快运”公司的管理软件中的各项需求。为小 17 17 吉首大学运网开发工作室吉首大学运网开发工作室 吉首大学新校区 2#221 电话组成员后期的代码编写提供了强有力的资料来源。在以后的代码编写过程中,我们深深体会 到了前提工作的重要,因为有汪庆春同学的详细分析,使我们的后期编写工作很少出现重写 的情况。 编写代码过程中,小组成员也深深了解到了一个软件并非一个人,一朝一夕可以完成的。 编写系统,是要有很强的团队合作意识。这需要借助每个人的力量,汇集各成员的强项。才 能开发出适用性强、可读性好的软件。本次开发中,运网小组运用 VSS6C 团队开发设计软件, 加强了团队代码编写之间的相互交流。让整个代码编写事半功倍。 测试阶段,虽事先有具体分工,但在分工的过程中也有合作。测试阶段出现的问题我们 都争取当天解决。并做好日志工作。 当然,本次系统开发过程中也出现了许多问题,比如小组成员大都是首次学习 ASP.NET。设计语言掌握不足。造成系统开发出现真空地带等等。 但不管如何,我们始终相信,运网开发小组不会因为第一段的工作完成而停止。通过第 一阶段的设计。使小组成员熟悉了 语言。也了解了整个设计过程。相信后阶段的设 计将很快完成现阶段的不足。 参考文献参考文献 1 但正刚,ASP.NET 高级编程,北京:清华大学出版社,2002 2 Evangelos Petroutsos, Asli Bilgin,Visual Basic.NET 数据库编程,北京:电子工业出版社, 2002,419-470 3 Rebecca M.Riordan,ADO.NET 程序设计,北京:清华大学出版社,2002,277-327 4 王树伟,王蒙,Visual Basic.NET 编程指南,北京:电子工业出版社,2002 . 5 王兴品,Visual Basic.NET 数据库开发典型实例,北京:电子工业出版社,2002 6 金雪云,焦桂英等,ASP.NET 高级开发技术与范例,北京:电子工业出版社,2002 7 孟军,王宝学,精通 ASP.NET 网络编程,北京:人民邮电出版社,2002 8 焦荐沧,龙晓敏,深入体验 ASP.NET,西安:西安电子科技大学出版社,2001 附附: :程序主要代码程序主要代码 /* file:index.aspx.cs*/ /* * author Qingchun Wang -代码编写者 * reviewer Qingchun Wang -代码审查者 * version1.0, 2005-12-15 -版本和时间 * env DotNet Framework1.1.4 -编译环境 * modified FireWolf,2005-12-17 -代码修改者 * */ using System; using System.Collections; 18 18 吉首大学运网开发工作室吉首大学运网开发工作室 吉首大学新校区 2#221 电话using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using System.Web.Security; using System.Data.SqlClient; namespace yw / / WebForm1 的摘要说明。 / public class Index : System.Web.UI.Page protected System.Web.UI.HtmlControls.HtmlForm Form1; protected System.Web.UI.WebControls.TextBox Passwd; protected System.Web.UI.WebControls.TextBox TxtCode; protected System.Web.UI.WebControls.Image Image1; protected System.Web.UI.WebControls.ImageButton ImageButton1; protected System.Web.UI.WebControls.ImageButton ImageButton2; protected System.Web.UI.WebControls.Label ErrorCode; protected System.Web.UI.WebControls.Label Label1; protected System.Web.UI.WebControls.TextBox UserName; protected System.Data.SqlClient.SqlConnection connection; private void Page_Load(object sender, System.EventArgs e) string isDebug=System.Configuration.ConfigurationSettings.AppSettingsIsDabug; if(isDebug=true) /如果为调试程态刚设置一下假登陆现场 FormsAuthentication.RedirectFromLoginPage(FireWolf, true); Response.Redirect(use_admin/index.aspx,false); if(!this.IsPostBack) this.Passwd.Text=; this.UserName.Text=; 19 19 吉首大学运网开发工作室吉首大学运网开发工作室 吉首大学新校区 2#221 电话this.ErrorCode.Text=; #region Web 窗体设计器生成的代码 override protected void OnInit(EventArgs e) / / CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。 / InitializeComponent(); base.OnInit(e); / / 设计器支持所需的方法 - 不要使用代码编辑器修改 / 此方法的内容。 / private void InitializeComponent() this.ImageButton1.Click += new System.Web.UI.ImageClickEventHandler(this.ImageButton1_Click); this.ImageButton2.Click += new System.Web.UI.ImageClickEventHandler(this.ImageButton2_Click); this.Load += new System.EventHandler(this.Page_Load); #endregion private void ImageButton1_Click(object sender, System.Web.UI.ImageClickEventArgs e) string validateCode; try Object code=SessionVNum;/得到验证码 validateCode=code.ToString(); if(this.UserName.Text=|this.Passwd.Text=) /判断用户是否已经输入了用户或密码,没有输入用户名或密码刚抛出异常 throw new Exception(用户名或密码不能为空); else if(TxtCode.Text!=validateCode) 20 20 吉首大学运网开发工作室吉首大学运网开发工作室 吉首大学新校区 2#221 电话/判断用户是否已经正确输入验证码,错误则抛出异常 throw new Exception(验证码有错!); else if(CheckLogin(UserName.Text.Trim(),Passwd.Text.Trim()=true) Session.RemoveAll(); /SessionLoginUser=UserName.Text.Trim(); /登陆成功,跳转到管理首页 FormsAuthentication.RedirectFromLoginPage(this.UserName.Text, true); Response.Redirect(use_admin/index.aspx,false); else /登陆错误抛出异常 throw new Exception(用户名或密码有错); catch(Exception ex) /显示错误信息 ErrorCode.Text=+ex.Message+; private void ImageButton2_Click(object sender, System.Web.UI.ImageClickEventArgs e) /*清空 */ this.ErrorCode.Text=; this.UserName.Text=; this.TxtCode.Text=; this.Passwd.Text=; /this.UserName.Text=FormsAuthentication.HashPasswordForStoringInConfigFile(Passwd.Text, MD5); /* 检查登陆*/ private bool CheckLogin(string StrUser,string StrPwd) SqlCommand cmd=null; 21 21 吉首大学运网开发工作室吉首大学运网开发工作室 吉首大学新校区 2#221 电话SqlDataAdapter ad=null; DataSet ds=null; try if(CheckCanLogin()=true) string strcon=System.Configuration.ConfigurationSettings.AppSettingsHostConnStr; /从Web.config文件中加载数据库连接字符串 string strSQL=select * from Login where LoginName=+StrUser+; /组装登陆查询Sql语句 string strPass=FormsAuthentication.HashPasswordForStoringInConfigFile(Passwd.Text.Trim(), MD5); /由于数据库里存储用户密码是用MD5算法加密的,所在以这儿把用户输入的表单中的数据进行 一次MD5加密 connection =new SqlConnection(strcon); /实例化数据库连接对象 connection.Open(); /打开数据库连接对象 cmd=new SqlCommand(strSQL,connection); /实例化SqlCommand对象 用于执行数据库查询命令 ad=new SqlDataAdapter(cmd); /实例化数据库连接桥(.NET里的采用的是从数据库中取得数据和记录集建立管道) /这个适配器是数据记集和数据库的连接管道 ds=new DataSet(); /实例化记录集对象 ad.Fill(ds,Login); /把从数据库中的数据填充到记录集的缓冲区 if(ds.Tables0.Rows.Count=0) /如果记录集为空,刚表示没有这个用户抛出异常 throw new Exception(用户名或密码错误); else /从记录集中取出用户名和密码 string user=(string)ds.TablesLogin.Rows0LoginName; string pwd=(string)ds.TablesLogin.Rows0PassWord ; if(StrUser!=user.Trim() throw new Exception(用户名错误); 22 22 吉首大学运网开发工作室吉首大学运网开发工作室 吉首大学新校区 2#221 电话else if(pwd.Trim()!=strPass) throw new Exception(密码错误); else /* 登陆成功后获取其权限*/ int Permission=(int)ds.TablesLogin.Rows0privilege ; /* 在session 里保存权限*/ SessionPrivilege=Permission; /* 写日志*/ WriteLog(StrUser,正常登陆); /* 登陆成功返回真*/ return true; else /*记录日志*/ WriteLog(StrUser,输入密码错误达到三次); /* 输入登陆所需信息连三次错误不能再进行登陆!弹出消息框给用户*/ ShowMessage(您已经输入出错达到3次!不能再登陆); /* 抛出异常*/ throw new Exception(你已经三次输入错误); catch(Exception ex) ErrorCode.Text=+ex.Message/*ex.Message*/+; return false; finally /* 释放对象!把资源返回给系统*/ ds.Clear(); ds.Dispose(); ad.Dispose(); 23 23 吉首大学运网开发工作室吉首大学运网开发工作室 吉首大学新校区 2#221 电话cmd.Dispose(); if(connection!=null) connection.Close(); /* 检查输入错误是否已经达到三次*/ private bool CheckCanLogin() Object code=SessionLoginedNum; int iNumber=0; if(code=null) iNumber=1; SessionLoginedNum=iNumber; return true; else iNumber=(int)code; if(iNumber2) return false; else iNumber+; SessionLoginedNum=iNumber; return true; private void ShowMessage(string strMsg) Response.Write( alert(+strMsg+); private void WriteLog(string user,string LogI

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论