图书借阅管理系统(数据库大作业)_第1页
图书借阅管理系统(数据库大作业)_第2页
图书借阅管理系统(数据库大作业)_第3页
图书借阅管理系统(数据库大作业)_第4页
图书借阅管理系统(数据库大作业)_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

1、数据库课程设计报告学 院: 理学院 班 级: 数学系 课 题:基于Visual C#.NET的图书馆管理系统 指导教师: 王杨 组员:学号 姓名 职责 翟晓凯 DBA 、系统设计员、系统开发员 闫好博 系统分析员、系统调查员 刘 盾 系统分析员、系统测试员 李 阳 项目管理员、系统调查员 王俊棋 系统测试员、系统调查员 黎校刚 项目管理员、系统设计员 靳 萌 系统分析员、系统设计员高校图书馆管理系统的设计与实现1 图书馆管理系统需求分析1.1引言 图书馆管理系统一般主要包括对图书作者和出版社等在内的基础数据管理,图书进销存管理,图书借阅管理,图书归还管理,读者管理,统计打印和系统管理等几部分。

2、通过实际调查,本图书馆管理设计系统主要具备以下功能: 系统使用人员较多,通过“读者管理”功能模块实现1.“读者类型设置”,用于设置读者的类型及相关的信息,内容包括类型、图书册数、期刊册数、续借次数、限制图书、限制期刊等。 2.“读者档案管理”,用于设置读者相关的信息,内容包括编号、条形码、姓名、性别、类型、出生日期、有效证件、证件号码、联系方式、登记日期、有效期至、操作员、备注、图书借阅次数、期刊借阅次数、是否挂失等。 系统应提供对图书相关信息的管理功能,通过“图书管理”功能模板实现: 1.“图书类型设置”,用于设置图书的类型及相关的信息,内容包括类型名称,可借天数等。 2.“图书档案管理”,

3、用于设置图书相关的信息,内容包括编号、条形码、书名、版次、类型、作者、译者、ISBN、出版社、图书开本、价格、页码、书架名称、现存量、库存总量、入库时间、操作员、简介、借出次数、是否注销等。 管理图书借出归还等功能,通过“图书流通管理”功能模块实现: 1.“图书借阅”,用于登记读者借阅图书的记录并减少图书在库的库存,登记内容包括借阅编号、图书编号、读者编号、押金、借阅时间、应还时间、操作员等。 2.“图书归还”用于登记读者归还图书的记录并增加图书在库的库存,登记内容包括归还编号、图书编号、读者编号、退还押金、归还时间、操作员等。 3.“图书续借”,用于登记读者到期图书的续借记录。 4.“图书罚

4、款”,用于对图书超期、丢失等情况的罚款管理,内容包括罚款编号、图书编号、读者编号、罚款日期、应罚金额、实收金额、是否交款、备注等。1.2 目标与任务 图书馆管理系统数据字典: (1)数据项与数据结构数据项是不可再分的数据单位,数据结构反映了数据之间的组合关系,对本系统的数据项与数据结构的描述在系统数据库设计与实施阶段能够直接体现出来,这里不在一一列出。(2)处理过程处理过程名说明输入输出读者类别设置管理读者类别信息新增,修改,删除读者类别读者类型读者档案管理管理读者信息新增,修改,删除读者信息读者信息图书类别设置管理图书类别信息新增,修改,删除图书类别图书类型图书档案管理管理图书信息新增,修改

5、,删除图书信息图书信息图书征订管理管理征订图书信息新增,修改,删除征订信息图书征订图书借阅管理借阅图书读者信息,图书信息图书借阅图书归还归还图书读者信息,图书信息图书归还图书管理系统数据流图:顶层数据流图:管理员 图书馆管理系统感觉 管理员信息 读者信息 图书信息 第2层数据流图:(图书借阅,图书归还,管理员查询,管理员修改)图书借阅图书信息表借阅信息表 读者信息表管理员 修改读者信息 新读者信息 查询 修改图书信息 新图书信息罚款信息表图书信息表图书归还读者信息表第3层数据流图图书信息表:(图书借阅) 续借单 更借书登记管理员 新有效检验 无效借书 有效借书单 借阅信息表借阅信息表第3层数据

6、流图:(图书读者信息表归还) 逾期清单管理员 更新 有效检验图书信息表还书登记 收费更新罚款信息表第3层数据流图:(管理员查询图书信息,查询读者信息,查询借阅信息,查询罚款信息)读者信息表借阅信息表管理员查询检验 无效信息 有效信息图书信息表罚款信息表 查询结果 第3层数据流图:(管理员添加,删除,修改读者信息)添加读者信息 更新管理员读者信息表删除读者信息修改读者信息 更新第3层数据流图:(管理员添加,删除,修改图书信息)添加图书信息 更新管理员图书信息表修改图书信息删除图书信息2 概念结构设计2.1 引言 系统开发的总体目标是实现图书馆管理的系统化和自动化,缩短借阅者的等待时间,减轻工作人

7、员的工作量,方便工作人员对它的操作,提高管理的质量和水平,做到高效、智能化管理,从而达到提高图书管理效率的目的。 主要任务是对读者信息、管理员信息、图书资料信息、借阅信息、归还图书信息、罚款信息的基本信息的操作及外理。 概念设计阶段主要是将需求分析阶段得到的用户需求抽象为信息结构(概念模型)的过程,它是整个数据库设计的关键。 2.2 目标与任务(1)选择中层数据流为切入点,通常选择实际系统中的子系统;(2)设计分E-R图,即各子模块的E-R图;(3)生成初步E-R图,通过合并方法,做到各子系统实体、属性、联系统一;(4)生成全局E-R图,通过消除冲突等方面。在本图书管理系统中,从第3层数据流程

8、图下手。分析各3层数据流图和数据字典,知道各个系统功能围绕“读者”、“管理员”和“图书”的处理。根据实体与属性间的两条准则:作为“属性”,不能再具有需要描述的性质。“属性”不能与其他实体具有联系。2.3 成果(1) 根据不同的对象,从第三层数据流图入手,分别画出各分E-R图 (a)从图书借阅和图书归还流图抽象出如下E-R图读者 m m m 罚款借阅归还 1管理员图书 n n (b)从管理员添加修改删除读者信息流图抽象出E-R图读者管理员管理 1 m (c)从管理员添加修改删除图书信息流图抽象出E-R图维护图书管理员 1 m (2) 合并各分E-R图,消除属性冲突,命名冲突,结构冲突等三类冲突,

9、生成初步E-R图,再消除不必要冗余,得到基本E-R图如下:读者类别 管理员罚款属于 1 读者 m m 1 维护 m 1书架借阅 m n m属于读者归还图书 1 m n m(3) E-R图的各实体属性如下:读者类别:读者类型(类型,图书册数,期刊册数,续借次数,限制期刊,限制图书)读者:读者(条形码,编号,姓名,性别,出生日期,有效证件,证件号码,联系方式,登记日期,有效期至,操作员,备注,图书借阅次数,期刊借阅次数,是否挂失)管理员:管理员(编号,名称,密码,图书管理,期刊管理,读者管理,图书借还,期刊借还)图书:图书(条形码,编号,书名,类型,作者,译者,ISBN,出版社,价格,页码,现存量

10、,库存总量,入库时间,简介,借出次数,是否注销)书架:书架(编号,书架名称)3 逻辑结构设计3.1 目标与任务 概念结构是独立于任何一种数据模型的信息结构。逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。3.2 将E-R图转换为关系模型实体型转换为关系模式。实体的属性就是关系的属性,实体的码就是关系的码。对于实体间的联系则有以下不同的情况:(1)一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。(2) 一个1:n联系可以转换为一个独立的关系模式,也可以

11、与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。(3)一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。三个或三个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合(4)具有相同码的关系模式可合并。 由于读者类别与读者、书架与图书的联系方式是1:n(一对多),可以将其之间的联系与n端实体读者、图书合并,管理员与图书之间的维护联系也是1:n(一对多),同样也将其之间的联系与n端实体

12、合并,而读者与图书之间的借阅和归还联系方式则是m:n(多对多),这样要把它们之间的联系转化为独立的关系模式,读者与管理员之间的罚款联系是m:1(多对一),将其联系与n端实体合并,具体的基本E-R图向关系模型的转化如下: 读者:读者(条形码,编号,姓名,性别,类型,出生日期,有效证件,证件号码,联系方式,登记日期,有效期至,操作员,备注,图书借阅次数,期刊借阅次数,是否挂失) 图书:图书(条形码,编号,书名,类型,作者,译者,ISBN,出版社,价格,页码,书架名称,现存量,库存总量,入库时间,管理员,简介,借出次数,是否注销) 管理员:管理员(编号,名称,密码,图书管理,期刊管理,读者管理,图书

13、借还,期刊借还) 读者类别:读者类别:读者类型(类型,图书册数,期刊册数,续借次数,限制期刊,限制图书) 借阅信息:图书借阅(借阅编号,读者编号,图书编号,借阅时间,应还时间,续借次数,操作员,状态)归还信息:图书归还(归还编号,读者编号,图书编号,归还时间,退还押金,操作员)罚款信息:图书罚款(罚款编号,读者编号,图书编号,罚款日期,应罚金额,实收金额)3.3 数据模型的优化分析知上述关系模式不存在非主属性对主属性的部分函数依赖,也不存在传递函数依赖,已经达到了3NF,数据冗余情况也基本消除,已经足以满足用户需要,无须继续优化。4 数据库的物理设计数据库在物理设备上的存储结构与存取方法称为数

14、据库的物理结构,它依赖于选定的数据库管理系统。为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构的过程就是数据库的物理设计。本图书馆管理系统在综合考虑广大用户的要求以及实际应用后,在关系数据库中为某些关系建立索引存取方法,在实际运作中做到了快速存取数据库中的数据,满足用户的多种应用要求,具体建立索引的相关信息将在数据库实施中描述。5 图书管理系统数据库的实施 根据以上需求分析,一个基本的图书馆管理系统数据库中大致包括20多张表,分别存放相应子功能的数据信息,其中“读者信息”和“图书信息”表是关键的表,用于存放图书馆读者的信息和文献的信息,图书馆管理系统实际上就是对读者和文献的管理。其他涉

15、及读者信息和文献信息的表都只记录相应的编号,并根据作为外键的“编号”字段相对应。因此“读者信息”、“图书信息”和其他表间的关系是1:N的关系。5.1 构建开发环境由于软件版本及电脑配置,各种兼容性问题,最终确定使用相对可以完整安装运行的Visual Studio 2005与SQL Server 2008软件。图书馆管理系统开发环境如下:开发环境:Visual Studio 2005开发语言:Visual C#后台数据库:SQL Server 2008开发平台:Windows XP分辨率:最佳效果1024*7685.2创建数据库 打开SQL Server企业管理器,新建一个数据库,名称为libb

16、ook。注意到数据文件的位置,以便分离数据库后将所需要的MDF文件及其日志文件存储在自己的盘里,方便下次使用时附加所需要的数据库。5.3 创建表(各个表的主键设置以及需求分析阶段的数据项与数据结构在截图中体现) 在新建的数据库libook下建立以下的表(表名即为数据结构名,列的相关设置即体现数据项的描述):1.出版社(保存图书对应出版社的基础信息) 2.读者类型(保存读者类型及相关信息)3.期刊丢失(保存期刊丢失记录)4.供应商(保存图书供应商信息)5.读者信息(保存读者的各种信息)6.管理员(保存用户信息)7.期刊罚款(保存期刊罚款记录)8.期刊归还(保存期刊归还记录)9.期刊借阅(保存期刊

17、借阅记录)10.期刊类型(保存期刊类型及相关信息)11.期刊注销(保存期刊注销记录)12.书架(保存图书馆内数据的基本信息)13.期刊信息(保存期刊信息)14.期刊征订(保存期刊征订入库记录)15.图书丢失(保存图书丢失记录)16.图书罚款(保存图书罚款记录) 17.图书馆(保存图书馆基础信息)18.图书归还(保存图书归还记录)19.图书借阅(保存图书借阅记录)20.图书类型(保存图书类型及相关信息)21.图书信息(保存图书信息)22.图书征订(保存图书征订入库记录)23.图书注销(保存图书注销记录)24.文献尺寸(保存文献尺寸信息)25.文献等级(保存文献等级信息)26.文献印刷(保存文献印

18、刷信息)27.文献语系(保存文献印刷信息)28.文献附件(保存文献附件信息)5.4 建立表与表的关系,外键约束进入设计表界面,右击,建立关系,表与表关系建立如下:关系名主键表外键表主键表列外键表列图书丢失_图书编号_fk图书信息图书丢失编号图书编号图书归还_图书编号_fk图书信息图书归还编号图书编号图书借阅_图书编号_fk图书信息图书借阅编号图书编号图书归还_图书编号_fk图书信息图书归还编号图书编号FK_图书征订_图书信息图书信息图书征订编号图书编号图书注销_图书编号_fk图书信息图书注销编号图书编号FK_图书罚款_读者信息读者信息图书罚款编号读者编号期刊丢失_期刊编号_fk期刊信息期刊丢失

19、编号期刊编号FK_期刊罚款_读者信息读者信息期刊罚款编号读者编号FK_读者信息_读者类型读者类型读者信息类型类型5.5 建立索引(物理设计阶段的存取方法)进入设计表界面,右击,建立各个表的索引,各个表索引的建立如下:表名索引名列名顺序书架PK_书架编号升序出版社PK_出版社出版社编号升序图书丢失PK_图书丢失丢失编号升序图书信息PK_图书信息编号升序图书借阅PK_图书借阅借阅编号升序图书归还PK_图书归还归还编号升序图书征订PK_图书征订征订编号升序图书注销PK_图书注销注销编号升序图书类型PK_图书类型类型编号升序图书罚款PK_图书罚款罚款编号升序期刊丢失PK_期刊丢失丢失编号升序期刊信息P

20、K_期刊信息编号升序期刊借阅PK_期刊借阅借阅编号升序期刊归还PK_期刊归还归还编号升序期刊征订PK_期刊征订征订编号升序期刊注销PK_期刊注销注销编号升序期刊类型PK_期刊类型类型编号升序期刊罚款PK_期刊罚款罚款编号升序用户清单PK_用户清单_0E391C95用户编号升序读者信息PK_读者信息编号升序读者类型PK_读者类型类型升序5.6 创建存储过程 在数据库libbook存储过程目录下新建“sf_图书征订”,“sf_图书借阅”和“sf_图书归还”3个存储过程,从而实现征订图书入库,借阅图书出库和归还图书入库,产生罚款信息等功能,建立这3个存储过程的文本栏内填写注释如下:create pr

21、oc sf_图书借阅asbegin tran-借书出库,减少图书库存量update 图书信息 set 现存量 = isnull(现存量,0) - 1from 图书信息 as a, 图书借阅 as bwhere a.编号=b.图书编号 and b.状态=新借-设置借阅状态update 图书借阅 set 续借次数=0,状态=未还where 状态=新借commitGOcreate proc sf_图书归还 借阅编号 int, 罚款金额 moneyasbegin tran-借书出库,减少图书库存量update 图书信息 set 现存量 = isnull(现存量,0) + 1from 图书信息 as a

22、, 图书借阅 as bwhere a.编号=b.图书编号 and b.借阅编号=借阅编号- 如果罚金不是0, 在 图书罚款 中产生记录if 罚款金额 0insert into 图书罚款(图书编号,读者编号,罚款日期,应罚金额,是否交款)select 图书编号,读者编号,getdate(), 罚款金额, 0from 图书借阅 where 借阅编号=借阅编号- 插入图书归还表insert into 图书归还(图书编号,读者编号,归还时间)select 图书编号,读者编号,getdate()from 图书借阅 where 借阅编号=借阅编号-设置借阅状态update 图书借阅 set 状态=已还 w

23、here 借阅编号=借阅编号commitGOcreate proc sf_图书征订asbegin tran-验收入库,增加图书库存量update 图书信息 set 库存总量 = isnull(库存总量,0) + b.订购数量, 现存量 = isnull(现存量,0) + b.订购数量, 入库时间 = b.验收日期from 图书信息 as a, 图书征订 as bwhere a.编号=b.图书编号 and b.是否验收=0-设置图书征订记录的标志,标志为已验收update 图书征订 set 验收日期=getdate(), 是否验收=1where 是否验收=0commitGO6 程序开发6.1 创

24、建工程(1)启动Visual Studio 2005,选择【文件】|【新建】|【项目】,点击【Visual Studio解决方案】|【空白解决方案】,名称为图书馆管理系统。(2)单击打开【解决方案资源管理器】,在其中右击【解决方案“图书馆管理系统”】,在弹出的快捷菜单中选择【添加】|【新建项目】命令,在弹出的对话框中的【项目类型】列表框中选择【Visual C#项目】,在右边的【模板】列表框中选择【Windows应用程序】选项,名称为“图书馆管理系统”,然后单击【确定】按钮,即可生成一个新的工程项目。6.2 ADO.NET数据组件的设置建立数据库应用程序过程中,需要经常与SQL Server数

25、据源进行交互。SglConnectin对象管理与数据源的连接;SglConunand和SglDataReader可以执行简单的查询和读取数据;5glDataAdapter作为数据适配器可以将数据从数据库中取出来,放到DataSet以供程序中调用,也可以提取DataSet中储存的缓存的更新,将它们提交给数据库。DataSet对象的核心实际上为数据的集合,它类似于Excel中的一个工作簿,可以存储一个或多个查询的结果。本书中与数据库的交互,主要是由这几个类完成,尤其是SglConnection, SglDataAdapter和DataSet。6.2.1 添加数据连接(1)单击IDE界面的【服务器资

26、源管理器】,如果后台SQL Server允许,则会在【服务器】项下面看到服务器名称。 在这里,选中【数据连接】项,右击,在弹出的快捷菜单中选择【添加连接】命令,将弹出如下对话框。选中Microsoft SQL Server,点击继续,出现对话框,服务器添加本地,数据库名添加libbook。打开高级选项, 将Workstation ID填写为localhost,这样做的目的是为了防止在其他计算机中允许程序时,由于SQL Server服务器名称不同而造成无法访问的错误,localhost是本地数据库的通用名称。6.2.2 数据适配器配置从工具箱的【数据】页中拖动一个SglDataAdapter控件

27、到窗体设计器中,如图8.30所示。此时【数据适配器配置向导】将自动启动,如图所示。单击下一步,继续,选择【使用SQL语句】,然后单击【下一步】按钮,进入生成SQL语句的部分,这是启动【数据适配器配置向导】后的第(4)步,如图所示。可以在其中的编辑框中输入查询SQL语句(如select*from读者类型”)。页面中的【高级选项】按钮控制一些与更新数据库有关的选项,在只需要从数据库中查询数据而不需要更新删除插入等操作时,可以取消选中【生成Insert,Update和Delete语句】复选框,如图。【查询生成器】按钮可以通过图形化的界面生成SQL语句,非常的方便。再单击【下一步】按钮,将完成数据适配

28、器的设置,完成后,在窗体设计器的下方将出现一个托盘,其上有放置的SglDataAdapter和自动生成的SglConnection对象,如图所示。在SglDataAdapterl对象上右击,在弹出的快捷菜单中选择【配置数据适配器】命令可以重新配置数据适配器。右击SglDataAdapterl对象,在弹出的快捷菜单中选择【生成数据集】命令,弹出【生成数据集】对话框,如图所示。生成数据集后,在窗体设计器下方的托盘中将自动出现一个数据集对象,如图所示。至此,完成了一个最基本ADO.NET数据组件的创建和设置6.3 创建系统主窗体利用系统默认生成的窗体作为主窗体,添加相应的控件,定义控件属性。编写主窗

29、体事件处理代码:using System;using System.Drawing;using System.Collections;using System.ComponentModel;using System.Windows.Forms;using System.Data;namespace 图书馆管理系统public class mainFrm : System.Windows.Forms.Form/*省略系统自动生成的代码*/static void Main() /整个程序启动时先显示登录框,登录成功再显示主界面LoginFrm login = new LoginFrm();logi

30、n.ShowDialog();if (LoginFrm.blCanLogin=true)Application.Run(new mainFrm();/-查询MDI子窗体是否存在-private bool checkChildFrmExist(string childFrmName)foreach(Form childFrm in this.MdiChildren)if(childFrm.Name = childFrmName) /用子窗体的Name进行判断,如果存在则将他激活if(childFrm.WindowState = FormWindowState.Minimized)childFrm

31、.WindowState = FormWindowState.Normal;childFrm.Activate();return true;return false;/-显示读者类别设置窗体-private void menuItem2_Click(object sender, System.EventArgs e)/通过窗体名称查询该窗体是否已经存在,如存在则显示,否则就新创建一个if (this.checkChildFrmExist(ReaderClassify) = true)return;ReaderClassify newFrm=new ReaderClassify();newFrm

32、.MdiParent = this;newFrm.Show();/-显示读者信息设置窗体-private void menuItem3_Click(object sender, System.EventArgs e)/通过窗体名称查询该窗体是否已经存在,如存在则显示,否则就新创建一个if (this.checkChildFrmExist(ReaderInfo) = true)return;ReaderInfo newFrm=new ReaderInfo();newFrm.MdiParent = this;newFrm.Show();/-显示图书类型设置窗体-private void menuI

33、tem5_Click(object sender, System.EventArgs e)/通过窗体名称查询该窗体是否已经存在,如存在则显示,否则就新创建一个if (this.checkChildFrmExist(BookClassify) = true)return;BookClassify newFrm=new BookClassify();newFrm.MdiParent = this;newFrm.Show();/-显示图书档案管理窗体-private void menuItem6_Click(object sender, System.EventArgs e)/通过窗体名称查询该窗体

34、是否已经存在,如存在则显示,否则就新创建一个if (this.checkChildFrmExist(BookInfo) = true)return;BookInfo newFrm=new BookInfo();newFrm.MdiParent = this;newFrm.Show();/-显示图书征订窗体-private void menuItem8_Click(object sender, System.EventArgs e)/通过窗体名称查询该窗体是否已经存在,如存在则显示,否则就新创建一个if (this.checkChildFrmExist(BookSubscribe) = true

35、)return;BookSubscribe newFrm=new BookSubscribe();newFrm.MdiParent = this;newFrm.Show();/-显示图书借阅窗体-private void menuItem9_Click(object sender, System.EventArgs e)/通过窗体名称查询该窗体是否已经存在,如存在则显示,否则就新创建一个if (this.checkChildFrmExist(BookBorrow) = true)return;BookBorrow newFrm=new BookBorrow();newFrm.MdiParent

36、 = this;newFrm.Show();/-显示图书归还窗体-private void menuItem10_Click(object sender, System.EventArgs e)/通过窗体名称查询该窗体是否已经存在,如存在则显示,否则就新创建一个if (this.checkChildFrmExist(BookReturn) = true)return;BookReturn newFrm=new BookReturn();newFrm.MdiParent = this;newFrm.Show();/-显示逾期图书窗体-private void menuItem11_Click(o

37、bject sender, System.EventArgs e)/通过窗体名称查询该窗体是否已经存在,如存在则显示,否则就新创建一个if (this.checkChildFrmExist(OverdueBook) = true)return;OverdueBook newFrm=new OverdueBook();newFrm.MdiParent = this;newFrm.Show();/-显示图书罚款窗体-private void menuItem12_Click(object sender, System.EventArgs e)/通过窗体名称查询该窗体是否已经存在,如存在则显示,否则

38、就新创建一个if (this.checkChildFrmExist(BookPenalty) = true)return;BookPenalty newFrm=new BookPenalty();newFrm.MdiParent = this;newFrm.Show();private void menuItem13_Click(object sender, System.EventArgs e)this.Close(); 6.4 创建系统子窗体,窗体截图将在运行与调试阶段提供,这里只给出窗体事件处理代码(1)登录窗体:using System;using System.Drawing;usi

39、ng System.Collections;using System.ComponentModel;using System.Windows.Forms;using System.Data;namespace 图书馆管理系统/*省略系统自动生成代码*/public class LoginFrm : System.Windows.Forms.Formpublic static bool blCanLogin = false; /记录能否检验是否通过public static string strUser = ; /记录用户名public static string strDepartment =

40、 ;/记录通过者所属部门private DataSet ds = new DataSet();private DataTable myTable;private DataRow myRow;private string sendStrSQL = SELECT * from 用户清单;/*省略系统自动生成代码*/public LoginFrm()InitializeComponent();/初始化窗体时,从数据库中的“用户清单”表中检索数据并保存在mytable中LinkDataBase link = new LinkDataBase();string sendTableName = 用户清单;this.ds = link.SelectDataBase(sendStrSQL,sendTableName);this.myTable = ds.Tables0;/*省略系统自动生成代码*/-根据输入的用户名和密码进行登录校验-private void btn_Login

温馨提示

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

评论

0/150

提交评论