




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库课程设计-说明书一、 系统分析系统开发总的设计目标是实现图书管理的系统化、规范化和自动化,实现对图书资料的集中统一的管理。本系统主要实现对图书馆信息的管理,主要功能为管理有关读者,书籍,借阅和管理者的信息等。本系统结构分为学生信息管理模块,图书信息管理模块,借阅信息管理模块,管理者信息管理模块。学生信息管理部分有三个方面的功能,可以浏览读者的信息,可以对读者信息进行维护。图书信息管理可以浏览书籍的信息,可以对书籍信息进行维护。借阅信息管理可以显示当前数据库中书籍借阅情况,可以对借阅信息进行维护。管理者信息管理可以显示数据库中管理者的情况,可以对管理者信息进行维护。可见,本系统并不复杂,主
2、要解决的问题是利用关键字对数据库进行查询。1、需求分析:随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍增加,面对着庞大的信息量,传统的人工方式管理会导致图书馆管理上的混乱,人力与物力过多浪费,图书馆管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此,必须制定一套合理、有效,规范和实用的图书管理系统,对图书资料进行集中统一的管理。图书管理工作面对大量的可模块化处理的信息,是当今信息革命的一个重要阵地。我们小组开发图书管理信息系统就是采用现代化的信息管理方式代替手工管理方式,提高图书管理工作效率,作到信息的规范管理,科学统计和快速查询,让图书馆
3、更好的为学校,社会服务。2、功能分析:根据图书管理的日常活动的分析,本系统提供了借书卡这以特色功能,借书者需要办理借书卡才能借书。且本系统只有管理员才能使用,管理员有权限办理和注销借书卡,管理借还书的功能。故管理员大致有三大权限:A 添加权限:管理员对借书卡、借书、还书、书籍信息等资料的添加。B 删除权限:管理员对借书卡、借书、还书、书籍信息等资料的删除。C 修改权限:管理员对借书卡、借书、还书、书籍信息等资料的修改。二、系统设计本系统使用Visual Basic6.0作为开发语言,将数据存储到Access数据库。使用ADO连接数据库。通过对传统资源进行数字化或对现有数字资源进行归并整理,采用
4、实用的数据库技术构建服务平台。根据项目目标可以得到以下的各部分结构图:图书管理系统借书卡管理系统管理员信息系统借/还书系统库存管理系统a 管理员信息系统结构图如下:管理员信息系统添加管理员信息删除管理员信息修改管理员信息b 借书卡管理系统结构图如下:借书卡信息系统添加借书卡信息注销借书卡信息查看借书卡信息c借/还书系统与库存管理系统结构图如下:借/还书信息系统借书业务还书业务库存管理系统库存信息书刊查询d.E-R图书编号图书书名库存借出日期借者编号管理员编号用户名密码工作时间电话号码借阅者借书卡号学生号年级号学生姓名电话号码借书者编号三、个人负责部分1、标准模块的实现标准模块是应用程序内其它模
5、块访问的过程和声明的容器。它们可以包含变量、常数、类型、外部过程和全局过程的全局(在整个应用程序范围内有效的)。声明或模块级声明。 详细代码:'Modele1'定义全局常量Public Const ConnectString As String = "DSN=Lib;UID=sa;PWD=sa" '数据源:lib 用户名:sa 密码:sa'初始化系统登录界面Sub Main() '系统开始,首先进入登录界面 Dim fLogin As New FrmLogin '定义登录窗口对象 fLogin.Show vbModal
6、9;显示模态窗体 If Not fLogin.OK Then 'Login Failed so exit app End End If Unload fLogin '用户身份验证成功后,进入主界面 FrmMain.ShowEnd Sub该模块实现初始化登录界面,调用FrmLogin登录窗口,在验证成够后返回fLogin.OK的值为true,调用FrmMain窗口,进入主界面。定义全局常量:'数据源:lib 用户名:sa 密码:sa2、类模块 在 Visual Basic 中类模块是面向对象编程的基础。可在类模块中编写代码建立新对象。这些新对象可以包含自定义的属性和方法。
7、实际上,窗体正是这样一种类模块,在其上可安放控件、可显示窗体窗口。详细代码:'BookDatePublic Function getDate() As String Dim nowDate As Date Dim tday As Integer Dim tmonth As Integer Dim tyear As Integer Dim tmpDate As String nowDate = Date tday = Day(nowDate) tmonth = Month(nowDate) tyear = Year(nowDate) tmpDate = CStr(tday)+ "
8、;/" + CStr(tmonth) + "/" + CStr(tyear) getDate = tmpDateEnd Function调用getDate()函数可以获得时间:年/月/日/'BuildComboListPublic Function getList(ByVal sql As String, Combo As ComboBox) As ComboBox Dim myDbOper As New DbOperation Dim rst As ADODB.Recordset '建立连接 myDbOper.DB_Connect Set rst
9、 = myDbOper.querySQL(sql) If Not rst.EOF Then With rst Do While Not .EOF Combo.AddItem .Fields(0) .MoveNext Loop End With Combo.ListIndex = 0 End If rst.Close '关闭连接 myDbOper.DB_DisConnect Set getList = ComboEnd FunctionPublic Function getIdByName(ByVal sql As String) As String Dim myDbOper As Ne
10、w DbOperation Dim rst As ADODB.Recordset Dim tmpId As String '建立连接 myDbOper.DB_Connect Set rst = myDbOper.querySQL(sql) If Not rst.EOF Then tmpId = rst.Fields(0) End If rst.Close '关闭连接 myDbOper.DB_DisConnect getIdByName = tmpIdEnd FunctiongetList()调用函数DB_Connect建立连接'DbOperation'声明一个连
11、接,,用于数据库连接Dim conn As ADODB.Connection'声明一个数据集对象Dim rst As ADODB.RecordsetPublic Sub DB_Connect() '建立连接 Set conn = New ADODB.Connection conn.Open ConnectString '模块中定义的全局常量 End SubPublic Function querySQL(ByVal sql As String) As ADODB.Recordset '返回ADODB.Recordset对象 sql该参数用传值方式传送 '
12、执行查询 Set rst = New ADODB.Recordset rst.Open Trim$(sql), conn, adOpenKeyset, adLockOptimistic '打开记录集 'rst.MoveLast 'get RecordCount Set querySQL = rstEnd FunctionPublic Sub executeSQL(ByVal sql As String) '执行sql语句 conn.Execute (sql)End SubPublic Sub DB_DisConnect() '关闭连接 conn.Clos
13、e '释放连接 Set conn = NothingEnd Sub该类模块里的函数实现:DB_Connect()建立连接querySQL(ByVal sql As String)传递数值,打开记录集executeSQL(ByVal sql As String)传递查询语句DB_DisConnect()关闭和释放连接2、实现界面功能(例:管理员信息)详细代码(功能实现:看注释):'添加功能Private Sub cmdAdd_Click() '“添加”调用添加界面FrmAddManager FrmAddManager.Show 1End Sub'添加管理员界面功能
14、(FrmAddManager窗口中的程序)'返回按钮功能Private Sub cmdExit_Click() Me.HideEnd Sub'提交按钮功能Private Sub cmdSubmit_Click() '检验数据的有效性 If Trim(txtId) = "" Then MsgBox "请输入登录Id" Exit Sub End If If Trim(txtPwd) = "" Then MsgBox "请输入登录密码" Exit Sub End If Dim myDbOper A
15、s New DbOperation Dim rst As ADODB.Recordset Dim sql As String '建立连接 myDbOper.DB_Connect '定义查询语句 sql = "SELECT * FROM Librarian WHERE seq='" + Trim(txtSeq) + "'" Set rst = myDbOper.querySQL(sql) If rst.EOF = True Then With rst .AddNew !seq = Me.txtSeq !id = Me.txt
16、Id !Password = Me.txtPwd !onJobTime = Me.txtTime !telephone = Me.txtPhone .Update End With MsgBox "信息添加成功." Else MsgBox "该编号已经存在,请重新输入." End If rst.Close '关闭连接 myDbOper.DB_DisConnectEnd SubPrivate Sub Frame1_DragDrop(Source As Control, X As Single, Y As Single)End Sub'删除功
17、能Private Sub cmdDelete_Click() Dim tmpSeq As String '声明变量 If Adodc1.Recordset.BOF = True Then MsgBox "请选择记录" Exit Sub End If p = Adodc1.Recordset.AbsolutePosition tmpSeq = Trim(Adodc1.Recordset.Fields(0) '确认删除 If MsgBox("是否删除当前行?", vbYesNo, "确认") = vbYes Then Di
18、m myDbOper As New DbOperation Dim rst As ADODB.Recordset Dim sql As String '建立连接 myDbOper.DB_Connect '定义查询语句 sql = "SELECT * FROM Librarian WHERE seq='" + Trim(txtSeq) + "'" Set rst = myDbOper.querySQL(sql) If (Not rst.EOF) Then With rst .Delete adAffectCurrent
19、39;DELETE 语句用于删除表中的行 语法:DELETE FROM 表名称 WHERE 列名称 = 值 .Update 'Update 语句用于修改表中的数据 语法:UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值 End With Else MsgBox "发生错误,请重新操作." End If Refresh_DataList If p - 1 > 0 Then Adodc1.Recordset.Move 0 Adodc1.Recordset.Move p - 1 End If End IfEnd Sub'修改功能P
20、rivate Sub cmdEdit_Click() '检验数据的有效性 If Trim(txtId) = "" Then MsgBox "请输入登录Id" Exit Sub End If If Trim(txtPwd) = "" Then MsgBox "请输入登录密码" Exit Sub End If Dim myDbOper As New DbOperation Dim rst As ADODB.Recordset Dim sql As String '建立连接 myDbOper.DB_Con
21、nect '调用类模块中DB_Connect函数建立连接 '定义查询语句 sql = "SELECT * FROM Librarian WHERE seq='" + Trim(txtSeq) + "'" Set rst = myDbOper.querySQL(sql) If (Not rst.EOF) Then rst!id = Me.txtId rst!Password = Me.txtPwd rst!onJobTime = Me.txtTime rst!telephone = Me.txtPhone rst.Updat
22、e MsgBox "信息修改成功." Else MsgBox "发生错误,请重新输入." End If rst.Close '关闭连接 myDbOper.DB_DisConnect Refresh_DataListEnd Sub'退出功能Private Sub cmdExit_Click() Me.HideEnd Sub'刷新功能Private Sub cmdRefresh_Click() Refresh_DataListEnd Sub'显示管理员列表功能Private Sub DataGrid1_Click() If A
23、dodc1.Recordset.BOF = True Then MsgBox "请选择记录" Exit Sub End If '保存光标位置 p = Adodc1.Recordset.AbsolutePosition '读取当前记录的各列数据 Me.txtSeq = Trim(Adodc1.Recordset.Fields(0) Me.txtId = Trim(Adodc1.Recordset.Fields(1) Me.txtPwd = Trim(Adodc1.Recordset.Fields(2) Me.txtTime = Trim(Adodc1.Reco
24、rdset.Fields(3) Me.txtPhone = Trim(Adodc1.Recordset.Fields(4) Refresh_DataList '恢复光标位置 Adodc1.Recordset.Move 0 Adodc1.Recordset.Move p - 1End Sub'刷新管理员列表功能Private Sub Refresh_DataList() Adodc1.RecordSource = "SELECT * FROM Librarian ORDER BY seq" 'SQL中的排序语句 Adodc1.RefreshEnd Su
25、bPrivate Sub Frame2_DragDrop(Source As Control, X As Single, Y As Single)End Sub' Adodc1控件Private Sub Adodc1_WillMove(ByVal adReason As ADODB.EventReasonEnum, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)End Sub3、添加ADODC访问数据ADO Data控件使用Microsoft ActiveX数据对象(ADO)来快速建立数据绑
26、定的控件和数据提供者之间的连接。数据绑定控件是任何具有“数据源”属性的控件。放置控件配置属性4、创建打开【控制面板】->【系统和安全】->【管理工具】->【数据源(ODBC)】点击添加【SQL Server】四、数据库SQL数据库包含了以下7个表:Book:用来储存书库里面的信息,BookID为主码,包含了BookID(书刊编号)、name(书名)、loan(状态)、borrowedID(借阅卡编号)、BorrowDate(借书日期)这五个属性。Borrower:用来储存借书卡信息。BorrowedID为主码,包含了BorrowedID(借阅卡编号)、InstituteID(学院编号)、GradeID(年级编号)、name(姓名)、StudentNum(学号)、teleNumber(电话)、borroeBookNum(已借书)这七个属性。DatesRestrict:用来限制该类别的限定时间,type(类别)为主码,包含了type(类别)、Dates_rest
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 办酒席申请书范文模板
- 出国旅游押金合同范本
- 2025福建省建筑安全员C证考试(专职安全员)题库及答案
- 乡镇环卫合同范本
- 卫浴购货合同范例
- 2025湖北省安全员-A证考试题库附答案
- app 委托 开发 合同范本
- 医疗科室出租合同范本
- 事业单位人员合同范本
- 卖肉工具转让合同范例
- 三年级下册科学活动手册
- 《交通工程CAD》课程教学大纲(本科)
- JJF 1341-2012 钢筋锈蚀测量仪校准规范-(高清现行)
- 换班申请表(标准模版)
- 偏瘫临床路径流程
- 者阴村战友纪念者阴山对越自卫还击作战30周年联谊会计划2
- GB-T 9251-2022 气瓶水压试验方法(高清版)
- 基于单片机的电子广告牌设计毕业设计论文
- 承插型盘扣式支模架专项施工方案
- 我国古代职业教育的发展
- 通用横版企业报价单模板
评论
0/150
提交评论