数据库课程设计(实例+(设计))_第1页
数据库课程设计(实例+(设计))_第2页
数据库课程设计(实例+(设计))_第3页
数据库课程设计(实例+(设计))_第4页
数据库课程设计(实例+(设计))_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

1、0 0 摘要运网物流管理系统是一个基于asp.net开发的 web物流管理管理系统。作为b/s 结构的 web数据库管理系统,本系统具有所有b/s 结果系统的优点,同时又具有asp.net 的高效的优势。从技术上说,本系统采用了 c# 编写, 充分利用 asp.net 强大的组件 datagrid, 结合 ado.net对任务书中的物流管理的sql server2000 数据库进行管理。通过本系统可以对数据库执行添加、删除、修改、查询等全面的操作。系统支持分页功能,能支持大量数据的存储。我利用具有高安全性的 cookie 作为安全校验的依据, 对用户的权限进行审核, 提供系统的安全保障。从功能

2、上说,本系统主要分为2 大模块: 用户登陆模块和数据操作模块。通过用户登陆模块能对用户身份进行核实和验证,通过数据操作模块能对物流系统的相关信息进行操作,添加删除修改在一个页面内完成,直观简洁。作为课程设计,本系统达到了设计任务的基本要求,并在其上才用了更先进的语言,提供了更强大的扩展能力和更好的执行效率,作为一个完善的系统的雏形,本系统只要进入软件开发的螺旋法则,不久之后就可以进化为一个成熟的,能让最终用户所接受的系统。此次课程设计内容则是以c# 作为开发语言,编写 程序, c#是一门全新的语言,具有更强大的编辑和操作能力,在此过程中,我又开始了认真的从无到有的学习,通过锲而不舍的实践操作和

3、对各种相关书籍的钻研,终于理解了c#的语言,并迅速开发出了本系统。在学习和实践的过程中,我充分体会到了c#和.net技术的强大,在学习的过程中,我认识了几个来自microsoft 社区的 mvp ,在通过和他们交流和认真学习他们编写的经验文章后,我已经能更好的理解 .net 平台的运行机制,从内核这个层次认识到了microsoft 给作为程序员的我们带来了什么。本文关于运网物流管理系统的设计是在何迎生 老师的指导下完成的。经过一个学期的设计,我们基本完成了任务。设计过程中,何迎生老师给予了我们极大的帮助与鼓励,在此,我们对他的悉心指导表示衷心的感谢! 关键字:运网物流管理 ,c#,asp.ne

4、t, b/s, web 第一章 绪论1 1 在新的世纪里,信息技术迅猛发展,而网络技术和数据库技术又是信息技术最主要的核心。于是,基于 web 的数据库也就应运而生了。随着 internet/intranet技术的发展,开发基于web的应用程序势在必行,数据库技术更是需要和 web数据相结合,才是更为广阔的前景。asp.net 作为微软推出的新兴web应用程序开发技术,在数据库应用方面发挥着越来越重要的作用。internet的普及和应用使人们的现代生活方式发生了深刻的变化,现在各大企业也加快了信息化进程,并且都建立了自己的企业网。这为企业网络现代化创收提高效率提供了必备的物质基础。企业总是处于

5、新技术的最前沿地带,于是一个基于网络管理的应用系统的开发也正蓬勃发展并发挥着巨大的作用。基于以上原因,本文提出了一种网上实现物流管理系统,它能很好的解决以上的问题。它改变了以往物流的运作方式,而是采用网上入港和出港,极大地便捷了企业的管理层了解企业的运行和业务状态显著地提高了工作效率。系统引用了asp.net 这一具有强大功能、用于 web开发的全新框架。 asp.net在系统重处于操作系统内核与应用程序之间,使得应用程序可以更好地利用操作系统提供的功能,并使得应用程序的开发更快、更简单。本系统采用b/s 模式,其最根本的目的是让在企业的管理层便捷查看企业运行状态, 操作业务员入港出港操作,

6、财务统计等,并且具有操作方便,响应快捷等优点。第二章系统概要设计2 2 物流管理系统,在不同的物流公司有着自身的特殊性,公司的大小不同,主要面对对象不同,则业务关系也相对的不同, 运网物流管理系统v2.0 版主要针对的是中小型物流公司。帮助其实现现代化信息化的管理,由于时间有限,整个系统分阶段开发,本次开发为第一阶段,主要实现系统的出港制单、报表打印、进港收货确认、系统的管理员增加、删除、修改等功能。房管理、同行管理、统计分析等方面为第二阶段设计,在此不做介绍。21 用户总体业务结构物流管理系统, 包括主要部分: 进港业务、出港业务、 客户管理、同行管理、 统计分析、进港财务、出港财务、系统设

7、置。各业务包括的主要内容有:(在此只介绍第一阶段设计)出港业务:本公司操作员完成客人所要托运的货物的表单制作,输入货物的基本信息,托运人基本资料和接收人基本资料,然后打印出报表与客人作为托运凭证。进港业务:公司操作员接收货物信息,并确认货物信息中的条形码,确认到货,并通知收货人接受货物。系统管理:管理员在此管理页面中管理用户,增加用户,设置用户权限、输入和修改管理员基本资料,修改个人的密码。22 总体安全要求1、保密性机密或敏感数据库在存储过程、处理、传输过程中要保密,确保用户在授权后才能访问。2、完整性保证系统中的信息处在一种完整和没有受到损害,防止因非授权访问、部件故障或其它错误而引起信息

8、篡改、破坏或丢失。企业建站数据库中。系统管理员可以访问注册用户数据库,系统管理员分为不同的权限。对不同的管理员有不同的权限。如分为市场部人员、用户管理员、财务管理员、超级管理员。不同权限的工作人员登录后,操作权限不同。以适合实际应用的需求,如:市场部人员只能查看用户名单和联系方法;财务管理员可以为付款用户开通网站;用户管理员可以对用户资料进行修改、删除操作;超级管理员可以对管理员进行管理。注册用户只能对自己的数据库进行管理。3、可靠性保障系统在复杂的网络环境下提供持续、可靠的服务。一、应用背景:3 3 1.1 简介本系统作物流解决方案系列软件之一的运输管理系统,系统设计的目标是协助公路运输企业

9、迅速发展成为以本地向外辐射,具有强大的多式联运能力的物流服务商。运网物流在进行运输管理物流系统的设计规划的过程中,基于以下指导思想:按尽可能低的总成本来创建顾客目标价值。因此,物流系统必须具有高度的客户反应能力,同时能控制作业成本的变化运网物流管理系统是吉首大学运网物流自主开发的适用于广泛的公路运输企业、货代配载和第三方物流企业的运输管理系统. 1.2 背景使用户和项目人员明确系统的功能、应用范围。1.3 定义 code 1.1(工作室自定义)二、系统概要分析:4 4 系统 uml 用例模型系统的功能性需求功能序号功能名称功能说明1 进港业务包含对出港制单,出港调度,货物装配,查找,生成报表2

10、 出港业务包含对进港受理,到货确认3 财务管理业务财务统计4 统计分析暂没实现5 系统管理包含操作员的增加,删除 ,权限的分配系统的非功能性需求a:用户界面需求简洁、易用、易懂,美观、大方、标准,具备一定的兼容性。b: 软硬件环境需求软件环境:客户端 :兼容当前安装ie6.0 的 windows 操作系统。服务器 : 支持.net的windows2000 服务版或windows2003 server5 5 硬件环境: 586 以上计算机,打印机等。c: 软件质量需求易用、健壮、兼容性好、运行稳定、有一定安全保障第三章 系统总体设计6 6 运网物流管理系统是满足中小型物流公司对货物信息管理要求,

11、采用microsoft visual studio .net 2003+sql server 2000(数据库 )设计,程序可运行于windows 2000/xp/2003 下windows nt 及更高版本中所有支持 的网站服务器中。用户输入特定的网络ip 或域名,可以通过互联网络访问。31 系统体系结构运网物流管理系统采用b/s 多层结构的数据库应该设计,系统分为:客户端、服务器、web服务器、数据库服务器。基工作过程为:客户端的电脑输入ip 地址执行应用程序, 连接到 web 服务器,再由 web 服务器与服务器连接。客户端不处理企业核心逻辑,只拥有部分应该逻辑。减少负载。web服务器接

12、收并处理浏览器的网页请求,并调用应用服务器的应用程序,接收处理结果,并回送客户端。应用服务器处理业务逻辑,接受输入,处理后返回结果。数据库服务器处理业务数据,负责管理对数据的读写和维护,以及数据库的数据访问权限。32 系统软件开发平台321 数据库管理系统选择microsoft sql server 2000 中文版是基于客户端 / 服务器模式的新一代大型数据库管理系统( dbms ),它在电子商务、数据仓库和数据库解决方案等应用中起着重要的核心作用,可为企业的数据管理提供强大的支持,对数据库中的数据提供有效的管理,并采用有效的措施实现数据的完整性及数据的安全性。322 开发工具选asp.ne

13、t 是由微软公司推出的用于web 应用开发的全新框架, 是.net框架 (即.net framework )的组成部分,它从现有的asp(active server pages,活动服务器页 )结构体系上跨出了一大步,是对传统asp技术的重大升级和更新。 asp.net 是建立在 .net框架的公共语言运行库上的编程框架,可用于在服务器上生成功能强大的web应用程序。微软公司的 .net 框架是继 activex技术之后,于2000 年推出的用于构建新一代inetnet 集成服务平台的最新框架,这种集成服务平台允许各各系统环境下的应用程序通过因特网进行通信和共享数据。目前,因特网服务平台亟待解

14、决的重要问题是系统间的互通性问题,一些相关协议如xml (extensible markup language,可扩展标记语言)、soap (simple object access protocol,简单对象存取协议)等, .net平台将对这些协议提供支持,其意义可与当年windows 平台推出的意义相提并论,微软公司将其称为7 7 “.net战略” 。也就是说, .net的最终目的就是让用户在任何地方、任何时间,利用任何设备都能访问所需的信息、文件和程序。用户不需要知道这些文件放在会地方,只需要发出请求,然后只管接收即sk , 而所有后台的复杂性是完全屏蔽起来的。同时,对于开发人员来说,更

15、容易建立web 应用程序和 web 服务,进一步简化对应用程序的开发。.net 框架具有两个主要组件:公共语言库和.net framework类库。公共语言运行库是.net 框架的基础。从层次上来看,.net 框架包括三个主要组成部分:公共语言运行时( common language runtime,clr或称公共语言运行库)、服务框架(services framework ) 和两类应用模板。两类应用模板包括传统的windows应用程序模板(windows表单)和基于 asp. net的面向 web 的应用程序模板 (web表单和 web服务) ,其结构如图所示。visual studio

16、.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 也包括在内,它包含这些开发工具的

17、所有文档。323 系统总体功能模块运网物流管理系统总共划分为:用户登陆模块、进港业务模块、出港业务模块、客户管理模块、同行管理模块、统计分析模块、进港财务模块、出港财务模块、系统设置模块。如图( 3-1)所示机器代码编译各种 .net 应用于程jit 编译中间语言( il)代码8 8 33 系统需求描述 3 31 运网物流管理系统数据流图:系统流程图331 运网物流管理系统数据字典:同行管理模块客户管理模块统计分析模块运网物流管理系统管理员登陆验证模块进港业务模块出港财务模块进港财务模块系统设置模块出港业务模块出港调度货物配载打印报表出港查询进港受理到货确认提货通知派送处理签收录入签收回执进港

18、查询用户管理修改密码权限管理图( 3-1)n y 开始登陆进港业务出港业务财务统计系统管理统计分析结束出港制单用户切换9 9 现只给出运网物流管理系统第一阶段数据字典数据流名:(出港管理)输入请求来源:需要托运货物的物住流向:进港业务组成:托运业主id(自动产生)+托运业主身份证号码+托运业主的姓名+托运业主的单位名称 +业主地址 +业主联系电话号码+业主邮政编码码数据流名:(进港管理)查询请求来源:出港中输入的数据输出:数据编码组成:托运业主身份证号码+编码. . . .第四章 数据库设计五、数据表设计: e-r 模型10 10 5.1 数据库结构及说明物流管理系统数据表 及视图设计 :11

19、 11 管理员登陆表: (login )列名字符类型长度备注userid int 4 主键 id loginname char 20 用户名username char 20 用户姓名password text 16 用户密码memberid int 4 member 表外码privilege int 4 用户权限对 privilege 中的值进行说明:系统管理员(1) 、财务管理员(2) 、业务管理员(3)用户资料表: (member)列名字符类型长度备注memberid int 4 主键 id membername char 20 用户姓名memaddress char 50 用户地址mem

20、phone char 12 用户电话memmomo text 16 用户备注建立管理员信息用户视图 : (login_view )列名字符类型长度备注userid int 4 主键 id loginname char 20 用户名username char 20 用户姓名privilege int 4 用户权限memaddress char 50 用户地址memphone char 12 用户电话memberid int 4 memberid business业务明细总表编号字段名类型说明备注1 bus_id int 业务流水号(自动)主键2 bus_goodid int 业务中货物的流水号外

21、键3 bus_takeunitid int 托运人的流水号编号外健4 bus_recverid int 收货人的流水号外键5 bus_fromstation char(20) 从哪个站发货6 bus_fromcity char(20) 从哪个城市发货7 bus_tostation char(20) 发往哪个联网站8 bus_tocity char(20) 发往哪个城市9 bus_accepttime datetime 业务接洽时间10 bus_acceptopt char(20) 业务接洽操作员11 bus_cast float 业务所需费用12 bus_ispay text 客户是否付款 (

22、现金 /到付 ) 13 bus_fisished text 业务是否完成默认未处理businesslog业务操作日志表编号字段名类型说明备住1 log_id int 日志 id 主键2 log_busid int 业务流水号外键3 log_time datetime 日志产生时间12 12 4 log_info text 日志信息5 log_optip text 业务操作ip commonwrap 常用包装表编号字段名类型说明备注1 wrapid int 包装类型id (自动产生)主键2 wrapname char(20) 包装类名称3 wrapfeq int 包装使用频率entrust 托运

23、人明细表编号字段名类型说明备注1 takeunit_id int 托运业主id (自动产生)主键2 entrustmanid char(18) 托运业主身份证号码3 entrustman char(10) 托运业主的姓名4 entrustunit char(50) 托运业主的单位名称5 entrustunitaddr text 业主地址6 entrustunitphone char(13) 业主联系电话号码7 entrustunitphone char(7) 业主邮政编码码receiver 收货人明细表编号字段名类型说明备注1 recv_id int 收货业主id (自动产生)主键2 recv

24、ermanid char(18) 收货业主身份证号码3 recverman char(10) 收货业主的姓名4 recverunit char(50) 收货业主的单位名称5 recverunitaddr text 收货业主地址6 recverunitphone char(13) 收货业主联系电话号码7 recverunitzone char(7) 收货业主邮政编码码good 货物信息明细表编号字段名类型说明备注1 good_id int 货物流水号自动产生)主键13 13 2 good_name char(50) 货物名称3 good_wraptype char(50) 货物包装类型4 goo

25、d_volume float 货物所占体积5 good_weight float 货物重量6 good_operator char(20) 货物录入操作员7 good_quantity int 货物数量 (件数8 good_signal char(10) 货物的标签9 good_arrive char(10) 货物是否到站默认在途中login 登陆信息表编号字段名类型说明备注1 userid int 操作员 id( 自动产生)主键2 loginname char(20) 操作员登陆名3 username char(20) 操作员名称4 password char(16) 操作员登陆的密码5 m

26、emberid float 操作员的详细信表id 外键6 privilege int 操作员的权限1 为最高级loginlog登陆日志表编号字段名类型说明备住1 log_id int 日志 id 主键2 loguser char(20) 登陆用户3 log_time datetime 日志产生时间4 log_info text 日志信息5 log_ip char(10) 登陆 ip businessview 视图编号字段名类型说明备住1 recvermanid r.recvermanid 收货身份证主键2 recverman r.recverman 收货人姓名3 recverunitaddr

27、r.recverunitaddr 收货人的地址4 recverunitphone r.recverunitphone 收货人的电话5 entrustmanid e.entrustmanid 发货人身份证6 entrustman e.entrustman 发货人的姓名7 entrustunitphone e.entrustunitphon 发货人的电话8 entrustunitad e.entrustunitaddr 发货人的地址9 good_name g.good_name 货物的名称10 good_signal g.good_signal 货物的标签11 bus_id b.bus_id 业务

28、的流水号12 bus_goodid b.bus_goodid 货物的 id 13 bus_recverid b.bus_recverid 发货人的id 14 bus_fromstation b.bus_fromstation 发货站15 bus_accepttime b.bus_accepttime 业务的时间16 bus_fromcity b.bus_fromcity 发货的城市17 bus_tostation b.bus_tostation 目的站18 bus_tocity b.bus_tocity 目的城市19 bus_acceptopt b.bus_acceptopt 业务操作员20

29、bus_cast b.bus_cast 业务的费用14 14 21 bus_ispay b.bus_ispay 付款的方式22 bus_fisished b.bus_fisished 业务处理状态23 good_arrive g.good_arrive 货物是否到站24 bus_takeunitid b.bus_takeunitid 发货人的id 备注:r :dbo.receiver, g: dbo.good, b:dbo.business软件测试一 登陆测试 : 15 15 主界面生成报表16 16 第五章总结运网物流管理系统是运网开发小组:邓彬、汪庆春、邹奇、黄键四人在数据库原理及设计授课

30、老师 何迎生 的带领下,经历两个月的需求分析设计及一个月的代码编写,已经初步完成系统的总体功能设计。初步满足了中小型物流管理公司的进港和出港的信息管理及系统管理员的帐号管理。本系统从界面设计到代码编写都为小组成员原创,系统中注入了小组成员的大量心血。小组成员分工如下:汪庆春:系统需求分析 +代码编写。邓彬:系统代码编写 +软件界面设计。邹奇:系统软件测试。黄 键:系统相关材料收集。小组成员首次接触asp.net 。并运用 的知识,运用 vs.net开发平台,借助 sql数据库。在 何迎生老师 的大力支持和帮助下,开发出运网物流管理系统。对本小组各成员都有很大的激励。本次开发中,各成员的感触都很

31、深。系统需求阶段,小组成员汪庆春走访吉首市各大中小型物流公司,详细记录了如“中铁快运”公司的管理软件中的各项需求。为小组成员后期的代码编写提供了强有力的资料来源。在以后的代码编写过程中,我们深深体会到了前提工作的重要,因为有汪庆春同学的详细分析,使我们的后期编写工作很少出现重写17 17 的情况。编写代码过程中, 小组成员也深深了解到了一个软件并非一个人,一朝一夕可以完成的。编写系统,是要有很强的团队合作意识。这需要借助每个人的力量,汇集各成员的强项。才能开发出适用性强、可读性好的软件。本次开发中,运网小组运用vss6c 团队开发设计软件,加强了团队代码编写之间的相互交流。让整个代码编写事半功

32、倍。测试阶段,虽事先有具体分工,但在分工的过程中也有合作。测试阶段出现的问题我们都争取当天解决。并做好日志工作。当然,本次系统开发过程中也出现了许多问题,比如小组成员大都是首次学习asp.net 。设计语言掌握不足。造成系统开发出现真空地带等等。但不管如何,我们始终相信,运网开发小组不会因为第一段的工作完成而停止。通过第一阶段的设计。使小组成员熟悉了语言。也了解了整个设计过程。相信后阶段的设计将很快完成现阶段的不足。参考文献 1 但正刚 , asp.net高级编程 , 北京 : 清华大学出版社,2002 2 evangelos petroutsos, asli bilgin,visual ba

33、sic.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网络编程 , 北京 : 人民邮

34、电出版社,2002 8 焦荐沧 , 龙晓敏 , 深入体验asp.net , 西安 : 西安电子科技大学出版社,2001 附: 程序主要代码/* file:index.aspx.cs*/ /* * author qingchun wang -代码编写者* reviewer qingchun wang -代码审查者* version 1.0, 2005-12-15 - 版本和时间* env dotnet framework1.1.4 -编译环境* modified firewolf,2005-12-17 - 代码修改者* */ using system; using system.collecti

35、ons; using system.componentmodel; using system.data; using system.drawing; 18 18 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

36、的摘要说明。/ publicclass 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.imagebutt

37、on 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; privat

38、evoid 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) t

39、his .passwd.text=; this .username.text=; this .errorcode.text=; 19 19 #region web 窗体设计器生成的代码overrideprotectedvoid oninit(eventargs e) / / codegen: 该调用是 asp.net web 窗体设计器所必需的。/ initializecomponent(); base.oninit(e); / /设计器支持所需的方法 - 不要使用代码编辑器修改/此方法的内容。/ privatevoid initializecomponent() this .imagebut

40、ton1.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 privatevoid imagebutton1_click(object sender, system.we

41、b.ui.imageclickeventargs e) string validatecode; try object code=sessionvnum;/ 得到验证码validatecode=code.tostring(); if (this .username.text=|this .passwd.text=) / 判断用户是否已经输入了用户或密码,没有输入用户名或密码刚抛出异常thrownew exception(用户名或密码不能为空); else if (txtcode.text!=validatecode) / 判断用户是否已经正确输入验证码, 错误则抛出异常thrownew exc

42、eption(验证码有错 !); else 20 20 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 / 登陆错误抛出异

43、常thrownew exception(用户名或密码有错); catch (exception ex) / 显示错误信息errorcode.text=+ex.message+; privatevoid imagebutton2_click(object sender, system.web.ui.imageclickeventargs e) /* 清空 */ this .errorcode.text=; this .username.text=; this .txtcode.text=; this .passwd.text=; /this.username.text=formsauthenti

44、cation.hashpasswordforstoringinconfigfile(passwd.text, md5); /* 检查登陆 */ privatebool checklogin(string struser,string strpwd) sqlcommand cmd= null ; sqldataadapter ad=null ; dataset ds=null ; try if (checkcanlogin()= true ) 21 21 stringstrcon=system.configuration.configurationsettings.appsettingshost

45、connstr; / 从web.config 文件中加载数据库连接字符串string strsql=select * from login where loginname=+struser+; / 组装登陆查询 sql 语句stringstrpass=formsauthentication.hashpasswordforstoringinconfigfile(passwd.text.trim(), md5); / 由于数据库里存储用户密码是用md5 算法加密的 , 所在以这儿把用户输入的表单中的数据进行一次 md5 加密connection =new sqlconnection(strcon)

46、; / 实例化数据库连接对象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

47、) / 如果记录集为空 , 刚表示没有这个用户抛出异常thrownew exception(用户名或密码错误); else / 从记录集中取出用户名和密码string user=( string)ds.tableslogin.rows0loginname; string pwd=( string)ds.tableslogin.rows0password ; if (struser!=user.trim() thrownew exception(用户名错误 ); else if (pwd.trim()!=strpass) thrownew exception(密码错误 ); 22 22 else

48、 /* 登陆成功后获取其权限*/ int permission=(int )ds.tableslogin.rows0privilege ; /* 在session 里保存权限 */ sessionprivilege=permission; /* 写日志 */ writelog(struser,正常登陆 ); /* 登陆成功返回真 */ returntrue ; else /* 记录日志 */ writelog(struser,输入密码错误达到三次); /* 输入登陆所需信息连三次错误不能再进行登陆! 弹出消息框给用户*/ showmessage(您已经输入出错达到3次!不能再登陆 ); /*

49、抛出异常 */ thrownew exception(你已经三次输入错误); catch (exception ex) errorcode.text=+ex.message/*ex.message*/+; returnfalse ; finally /* 释放对象 ! 把资源返回给系统*/ ds.clear(); ds.dispose(); ad.dispose(); cmd.dispose(); if (connection!=null ) connection.close(); 23 23 /* 检查输入错误是否已经达到三次*/ privatebool checkcanlogin() ob

50、ject code=sessionloginednum; int inumber=0; if (code=null ) inumber=1; sessionloginednum=inumber; returntrue ; else inumber=( int )code; if (inumber2) returnfalse ; else inumber+; sessionloginednum=inumber; returntrue ; privatevoid showmessage(string strmsg) response.write( alert(+strmsg+); privatev

51、oid writelog(string user,string loginfo) sqlconnection con=null ; sqlcommand cmd= null ; try string strcon=system.configuration.configurationsettings.appsettingshostconnstr; string ipaddr=request.servervariablesremote_addr; datetime time=system.datetime.now; /* 组装日志插入 sql 语句 */ string strsql=insert

52、into loginlog(loguser,loginfo,logtime,logip) values(; strsql=strsql+user+,; 24 24 strsql=strsql+loginfo+,; strsql=strsql+time.tostring()+,; strsql=strsql+ipaddr+; strsql=strsql+); con=new sqlconnection(strcon); / 实例化数据库连接对象con.open(); / 打开数据库连接对象cmd= new sqlcommand(strsql,con); int effectnum=cmd.exe

53、cutenonquery(); if (effectnum=0) thrownew exception(); catch (exception ex) errorcode.text=+ex.message/*ex.message*/+; finally / 释放 cmd 对象cmd.dispose(); if (con!= null ) con.close(); con.dispose(); 25 25 /*file:navigation.ascx.cs*/ /* * * * author qingchun wang -代码编写者* reviewer qingchun wang -代码审查者*

54、 version 1.0, 2005-12-15 - 版本和时间* env dotnet framework1.1.4 -编译环境* modified firewolf,2005-12-17 - 代码修改者* * * */ */ namespace yw.use_admin.cgyw using system; using system.data; using system.drawing; using system.web; using system.web.ui.webcontrols; using system.web.ui.htmlcontrols; using system.secu

55、rity.principal; using system.data.sqlclient; / /navigation 的摘要说明。/ publicclass navigation : system.web.ui.usercontrol protected system.web.ui.webcontrols.image image1; protected system.web.ui.webcontrols.image imgspacer; protected system.web.ui.webcontrols.image image2; protected system.web.ui.webco

56、ntrols.imagebutton imgbtnbook; protected system.web.ui.webcontrols.image image10; protected system.web.ui.webcontrols.image image11; protected system.web.ui.webcontrols.imagebutton imgout_invoke; protected system.web.ui.webcontrols.image image8; protected system.web.ui.webcontrols.image image3; prot

57、ected system.web.ui.webcontrols.image image6; protected system.web.ui.webcontrols.image image13; protected system.web.ui.webcontrols.imagebutton imgbtn_configure; protected system.web.ui.webcontrols.image image9; protected system.web.ui.webcontrols.imagebutton imgbtn_trace; protected system.web.ui.w

58、ebcontrols.image image7; 26 26 protected system.web.ui.webcontrols.imagebutton imagebutton6; protected system.web.ui.webcontrols.imagebutton imgbtn_query; protected system.web.ui.webcontrols.image image12; protected system.web.ui.webcontrols.image image5; protected system.web.ui.webcontrols.image im

59、age4; protected system.web.ui.webcontrols.panel mainpanel; protected system.web.ui.webcontrols.label label1; protected system.web.ui.webcontrols.label label2; protected system.web.ui.webcontrols.label label3; protected system.web.ui.webcontrols.label label4; protected system.web.ui.webcontrols.label

60、 label5; protected system.web.ui.webcontrols.label label6; protected system.web.ui.webcontrols.panel outpanel; protected system.web.ui.webcontrols.textbox txtgdname; protected system.web.ui.webcontrols.textbox txtgdwrap; protected system.web.ui.webcontrols.textbox txtgdvol; protected system.web.ui.w

温馨提示

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

评论

0/150

提交评论