第一篇:VB_解决方案总结
VB解决方案总结
方案1:控件与窗体同名的限制(同一窗体中)
在同一个窗体中,如果该窗体控件名称和窗体名称一致,那么不管在本窗体或者其他窗体来调用这个窗体的Show方法或其他控件都不行
解决:同一窗体所有控件名称不要与窗体名称一致,才能使用“窗体.Show”、“窗体.*.Text”、“窗体.Hide”等
方案2:解决控件的动态显示或不显示
窗体上有一个command按钮 command.Visible = False '按钮不可视 command.Visible = True '按钮可视 可通过IF语句控制器显示或不显示
方案3:unload和hide区别
Unload Me是将所在窗体本身从内存中移除,Me.Hide是将窗体隐藏,但是它实际上仍然在内存中。
方案4:关于where后单双引号的问题
如果access数据库某字段的类型为数字,则vb中的where筛选中只用双引号 例如:Adodc.RecordSource = “select * from 采购单
where 采购编号 = ” &采购编号.Text & “ ” 如果access数据库某字段的类型为文本,则vb中的where筛选中单双引号共用
例如:Adodc.RecordSource = “select * from 采购单
where 物品名称 = '” &物品名称.Text & “'”
方案5:程序异常退出处理
On Error GoTo err 你实际要执行的代码...err:
If err.Number> 0 Then'假如出错怎样再次捕获异常? 如果异常,则写出你要进行的处理代码...end if
方案6:区分大小写 Option Explicit Option Compare Binary
'区分大小写 'Option Compare Text
'不区分大小写 Private Sub Command1_Click()
Dim s1, s2
s1 = “A”
s2 = “a”
If s1 = s2 Then MsgBox “相等”
Else MsgBox “不等”
End If End Sub 分别注释掉上面的一条 Option Compare语句试一下,可以得到不同的结果 作用:可用于区分用户登录时用户名的大小写区分 例子:
Option Explicit Option Compare Binary
'区分大小写 'Option Compare Text
'不区分大小写 Dim s1, s2 Adodc1.RecordSource = “select * from 用户管理 where 用户名称='” &txtUserName.Text& “'” Adodc1.Refresh If Adodc1.Recordset.RecordCount > 0 Then
s1 = Adodc1.Recordset.Fields(“用户名称”)
s2 = txtUserName.Text
'区分大小写
If s1 <> s2 Then MsgBox “您可能开启了键盘大写,请区分大小写!”, vbExclamation + vbOKOnly, “错误提醒-www.xiexiebang.com”
Exit Sub
Else 用户名正确,写判断密码的代码
End if Else MsgBox “用户不存在,请重新输入正确的用户名”, vbExclamation + vbOKOnly, “错误”
Exit Sub End If 注:分别注释掉上面的一条 Option Compare语句试一下,可以区分或不区分大小写
方案7:四舍五入保留两位小数
(1)、Text1.Text = Format(3.125, “0.00”)'结果是3.13(2)、Text2.Text = Round(3.125, 2)
'结果是3.12 注:Round 不是四舍五入,而是“就近舍入”。返回最接近参数的整数。如果参数为两个整数的中值(7.5),这两个整数一个为偶数(8),另一个为奇数(7),则返回偶数(8)。此方法的行为遵循“IEEE 标准”754 的第 4 节。这种舍入有时称为就近舍入或银行家舍入。
方案8:combox的使用,添加项
1、Combo1.AddItem “客户”
2、Combo1.List(0)= “产品型号” additem是在末尾添加,list(index)是在指定位置添加的 异常:处理异常
If Adodc1.Recordset.BOF then
......end if If Adodc1.Recordset.EOF then
......end if BOF、EOF 属性:
BOF 指示当前记录位置位于Recordset对象的第一个记录之前。EOF 指示当前记录位置位于Recordset对象的最后一个记录之后 返回值:
BOF 和 EOF 属性返回布尔型值。说明:
使用 BOF 和 EOF 属性可确定Recordset对象是否包含记录,或者从一个记录移动到另一个记录时是否超出Recordset对象的限制。
如果当前记录位于第一个记录之前,BOF 属性将返回 True(-1),如果当前记录为第一个记录或位于其后则将返回 False(0)。
如果当前记录位于Recordset对象的最后一个记录之后, EOF 属性将返回 True,而当前记录为Recordset对象的最后一个记录或位于其前,则将返回 False。如果 BOF 或 EOF 属性为 True,则没有当前记录
方案9:回车键相当于按钮
把要回车代替的按钮的default属性值设为true Private Sub Form_KeyPress(KeyAscii As Integer)If KeyAscii = 13 Then 确定_Click
‘回车代替确定按钮,并执行Click的代码 End If End Sub
方案10:VB字符串连接符有 + 和 & 区别是 + 号的两个目都必须为字符串,例如 A+B,A、B必须都是字符中变量,否则产生一个Exctption。而&则可直接把变更的内容用tostring方法转换,例如“aString” & 1234,结果就变成aString1234
举个例子:
Dim A as string, B as integer,C as string '定义了三个变量
'
一、字符串连接的方法: A=“ABCD” & “DCBA” '结果是“ABCDDCBA” '
二、字符串变量的连接: A=“ABCD” C= A & “DCBA” '结果是“ABCDDCBA” A=“ABCD” C=“DCBA” C= C & A '结果是“DCBAABCD” '
三、字符串和数字的连接: A=“ABCD” B=125 C= STR(B)& A '结果是C=“ 125ABCD” C= A &STR(B)'结果是C=“ABCD 125” C= A &CSTR(B)'结果是C=“ABCD125” 看出区别了吗 方案11:EOF或BOF错误
约束的记录集为空时会弹出此错误
第二篇:程序设计语言VB_习题集(含答案)
《程序设计语言VB》课程习题集
一、单选题
1.Visual Basic是一种面向(D)的程序设计语言。
A.用户 B.事件 C.程序 D.对象
2.在Visual Basic6.0中规定工程文件的扩展名是(A)。
A.vbp B.for C.frm D.bas 3.Visual Basic6.0中规定窗体文件的扩展名是(B)。
A.for B.frm C.vbp D.bas 4.如何使一个标签或按钮控件在运行时不可用(C)。
A.把它的Visible属性设置成False B.把它的Visible属性设置成True C.把它的Enabled属性设置成False D.把它的Enabled属性设置成True 5.控件的字体可在属性窗口的(A)属性中调整?
A.Font B.Color C.Text D.Caption 6.若要将某命令按钮设置为默认命令按钮。则应设置为True的属性是(C)。
A.Value B.Cancel C.Default D.Enabled 7.在VB中,记录对象数据的是(C)。
A.方法 B.事件 C.属性
D.语句
8.在文本框上显示文本的属性是(B)。
A.Value B.Text C.Print D.Enabled 9.InputBox函数返回值的类型为(A)。
A.字符串 B.数值 C.变体
D.数值或字符串(视输入的数据而定)
10.设有语句:a = InputBox(“请输入数值:”,“输入示例”, “100”)程序执行后,若从键盘上输入数值20并按回车键,则变量a的值是(A)。A.字符串“20” B.字符串“120” C.默认值100 D.数值120 11.下列控件中可用于接受用户输入文本,又可用于显示文本的是(B)。
A.Label控件 B.TextBox控件 C.Timer控件
D.CommandButton控件
12.语句PRINT “25*4”的输出结果是(A)。
A.25*4 B.“100” C.100 D.出现错误信息
13.只能用来显示字符信息的控件是(B)。
A.文本框 B.标签框 C.图片框 D.图像框
14.下列可作为Visual Basic变量名的是(D)。
A.A%A B.4A C.?xy D.Stemp 15.下列哪个符号不能作为VB中的变量名(D)。
A.timefly
B.pass4 C.min4max D.R[8] 16.在窗体内声明的变量是(B)。
A.局部变量 B.模块变量 C.公共变量 D.任意变量
17.语句Dim x As Integer作用是:将x定义为(B)变量。
A.单精度型 B.整型 C.布尔型 D.字符型
18.在VB中,用Boolean来表示的数据类型是(C)。
A.长整型 B.字符型 C.布尔型 D.单精度型
19.定义常量需要用到的关键字是(A)。
A.Const B.Dim C.Private D.Public 20.如果要处理3.1415类数据,使用的变量类型应该是(A)。
A.Single B.Long C.Integer D.String 21.表达式2*3^2+2*8/2+3^2的值为(C)。
A.27 B.31 C.35 D.42 22.数学表达式 X^2+3XY对应的VB算术表达式是(C)。
A.X*2+3X*Y B.X*X+3XY C.X*X+3*X*Y D.X*X+3*XY 23.在VB语言中,求余运算符是(B)。
A.% B.MOD C.* D./ 24.判断两个逻辑关系任一满足的逻辑运算是(A)。
A.Or B.And C.Not D.Ok 25.表达式4+5 6 * 7 / 8 Mod 9 的值是(B)。
A.4 B.5 C.6 D.7 26.选拔身高T超过1.7米且体重W小于60公斤的人,表示该条件的布尔表达式为(C)。
A.T>=1.7 And W<=60 B.T<=1.7 Or W>=60 C.T>1.7 And W<60 D.T>=1.7 Or W<60 27.VB中下列逻辑表达式书写正确的是(A)。
A.a>b and a>c B.a>b>c C.a≤b D.a≠122 28.设x=4,y=8,z=7,表达式x A.1 B.-1 C.TRUE D.FALSE 29.Sqr(81)+Fix(3.6)的值是(A)。 A.12 B.7 C.8 D.9 30.把字符串“123”转换为数值123 时应该使用的函数是(B)。 A.Str B.Val C.Len D.Log 31.表达式Abs(-3)+int(3.14)的值为(B)。 A.5 B.6 C.0.14 D.6.14 32.Int(Rnd * 100)表示的是(C)范围内的一个整数。 A.[0,100] B.[1,99] C.[0,99] D.[1,100] 33.Len(“Friend”)的值是(A)。 A.6 B.7 C.8 D.9 34.Int(-3.14)的值是(C)。 A.-3 B.-3.14 C.-4 D.3.14 35.Right(“banana”, 4)的值是(C)。 A.ba B.banana C.nana D.ban 36.表达式 Mid(“Hello”, 2, 3)的值是(C)。 A.“ll” B.“llo” C.“ell” D.“ello” 37.语句if 3*4>=10 then a=1 else a=2 执行后,a的值为(CA.12 B.10 C.1 D.2 38.语句If x=1 Then y=1,下列说法正确的是(C)。 A.x=1和 y=1 均为赋值语句 B.x=1和 y=1均为关系表达式 C.x=1为关系表达式,y=1为赋值语句 。)D.x=1为赋值语句,y=1为关系表达 39.下面程序段中,(D)不是把两个数中的大值赋给变量Max。 A.Max=IIf(x>y,x,y)B.If x>y Then Max=x Else Max=y C.Max=x :If y>=x Then Max=y D.If y>=x Then Max=y Max=x 40.在Select判断结构中,下面的表述中不正确的是(B)。 A.Case 1 B.Case a > 5 C.Case 3 To 6 D.Case is <10 41.由“For i=1 To 16 Step 3”决定的循环结构被执行(C)次。 A.4 B.5 C.6 D.7 42.Dim a(5, 5)As Long 定义的数组元素的个数是(D)。 A.10 B.11 C.25 D.36 43.用于清空数组数据的关键字是(A)。 A.Erase B.Lbound C.Ubound D.Redim 44.下列关于do while „loop 和do„loop while循环执行循环体次数的描述正确的是(B)。 A.do while „loop循环和do„loop while循环至少都执行一次 B.do while „loop循环可能不执行,do„loop while循环至少执行一次 C.do while „loop循环至少执行一次,do„loop while循环可能不执行 D.do while „loop循环和do„loop while循环可能都不执行 45.For5 Print y End Sub 程序运行后,单击命令按钮,其输出结果为_20_ _。 83.阅读下列程序段 Private Sub Command3_Click() Print pl(3, 6)End Sub Public Function pl(x As Single, n As Integer)As Single If n = 0 Then pl = 1 Else If n Mod 2 = 1 Then pl = x * x + n Else pl = x * xy End Sub Private Sub Command2_Click() Dim a As Single, b As Single a = 6 b = 4 Call S(a, b) Print a, b End Sub 程序运行后,单击命令按钮输出结果为12、2。 89.阅读下列程序段 Dim a(3, 3)As Integer For m = 1 To 3 For n = 1 To 3 a(m, n)=(m1) Print “A”; Next j Print Next i For i = 4 To 1 Step-1 For j =(2 * i1600)* 0.02 Case Else p = 5000 * 0.02 +(na * 100)/ 10) c = n4 * a * c If t < 0 Then Print “无解” Else X1 =(-b + Sqr(t))/ 2 / a X2 =(-bn Do While r > 0 If n < r Then t = n: n = r: r = t End If m = n: n = r: r = m-n Loop Print n End Sub 四、简答题(略)„„ VB_图书管理系统_毕业设计论文.txt19“明”可理解成两个月亮坐在天空,相互关怀,相互照亮,缺一不可,那源源不断的光芒是连接彼此的纽带和桥梁!人间的长旅充满了多少凄冷 孤苦,没有朋友的人是生活的黑暗中的人,没有朋友的人是真正的孤儿。 摘要 随着人类社会的发展,人类对知识的需求也不断地增长。在这种形势下,书籍就渐渐地成为人们获取并增长知识的主要途径,而图书馆就自然而然地在人们的生活中占据了一定的位置。绘本图书与其他普通图画书的区别在于绘本图书通常有独立的绘画著者,图画有个人风格,画面即情即景,可单幅成画,容易提高儿童读书的积极性。如何科学地管理绘本馆不但关系到读者求知的方便程度,也关系到绘本馆的发展,因此,开发一套完善的绘本图书馆管理系统就成不可少了,图书管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。 经过分析,使用 Microsoft公司的Visual Basic6.0为开发工具,利用其提供的各种面向对象的可视化开发平台作为开发工具,采用面向对象技术,图形化的应用开发环境,尤其是它有一个功能极其强大的集成环境提供级开发人员,使得开发人员可通过菜单、界面、图形浏览工具、对话框以及嵌入的各种生成器来轻松地完成各种复杂的操作。开发过程中不断修正和改进,直到形成用户满意的可行系统。 本文介绍了在Visual Basic6.0环境下采用“自上而下地总体规划,自下而上地应用开发”的策略开发本系统的详细过程,提出实现绘本图书馆信息管理、资源共享的基本目标,从而推动迈向数字化绘本图书馆的步伐,并阐述系统结构设计和功能设计,从绘本图书的入库登记到查询浏览,形成了一个整体自动化管理模式,从软件工程的角度进行了科学而严谨的阐述。 关键词:绘本;图书管理系统;Visual Basic6.0 Abstract With the development of society , Mankind need more knowledge also constantly increase, Under such circumstances, book gradually become the main path to obtain the knowledge of life, and library naturally occupied in people certainly position, how science ground the management library not only relate to the convenient degree that the reader beg to know, but also relate to the library that strategy of development, therefore, develop the management system of a perfect library can't little, Library management system is a typical management information system(MIS), which mainly includes the establishment of database and front-end application maintenance and development of the two.After analysis, the use of Microsoft's development tool Visual Basic6.0 for the use of its various kinds of object-oriented visual development platform as a development tool, object-oriented technology and graphical application development environment, especially its There is an extremely powerful level of integration environment to provide developers, allowing developers through the menu, interface, graphical browsing tools, dialog boxes, and a variety of embedded generators to easily complete a variety of complex operations.Development process, constantly revised and improved, until users are satisfied with it.This paper introduced under the Visual Basic6.0 the environment adoption“ from top to bottom total programming, from the detailed process that bottom but up applied development” develop this system, from the step that but the push head into the arithmetic figure of the library, and shows the system construction design and function design, from the books of store in warehouse to register the search to view, books that issue from library card to angle of borrow , become a the whole automation the management the mode, and proceeds careful explain from the software engineering science.Keywords:library;borrow;search to view;Visual Basic6.0 目 录 摘要 I Abstract II 第1章 概 述 1 1.1 管理信息系统 1 1.2管理信息系统的特点 2 1.3管理信息系统的开发过程 2 第2章 数据库系统设计 3 2.1 数据库及其应用 3 2.2 数据库系统 3 2.3 数据库系统简介 4 2.4 数据库设计概述 4 2.5 数据库设计周期 5 2.6 数据库开发工具简介(Access)5 2.7图书管理系统数据库设计 6 2.7.1数据库需求分析 6 2.7.2数据库概要设计 6 2.7.3数据库的具体实现 9 第3章 系统需求分析 11 3.1 图书管理系统简介 11 3.2 系统功能分析 12 3.3 系统功能总体描述 12 第4章 系统的总体设计 14 4.1开发环境 14 4.4.1可视化设计 14 4.4.2事件驱动编程 14 4.2系统功能设计 15 4.3数据库 16 第5章 详细设计 18 5.1系统功能设计 18 5.2系统功能具体实现 18 5.3会员管理模块具体实现 22 5.4用户权限设置 23 5.5 权限的具体实现 23 5.5.1 模块准备 23 5.5.2 登录调用 25 5.6 会员管理具体实现 25 5.6.1 读者管理 25 5.6.2 员工管理 27 5.6.3 账号管理 28 第5章 结 论 32 致 谢 33 参考文献 34 附 录 35 附录A: 附加图、表 35 附录B: 部分主要源程序 36 附录C: 使用说明 42 第1章 概 述 科学技术的飞速发展把人类社会推向了一个崭新的时代--信息时代。信息对社会经济发展的巨大推动作用,使其与物质能源一起并列为现代社会的三大支柱。图书管理系统是一个图书单位不可缺的部分,图书管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,这对于查找、更新和维护都带来了不少的困难。对于借阅者来说,想要借书必须去到图书馆,一本本的查找,效率低,占用时间长,不利于查找,而且没有人性化管理。图书馆的规模越大,管理员对图书的管理越来越复杂,如果用传统的方法来管理,将是不可能实现的问题,对于借阅者,想要找到需要的图书也是一个复杂的问题。为了使图书管理简单化,使非专业人员也能轻松管理图书,使读者便于查找借阅归还图书,就必须设计一套实用简单,功能强大的图书管理系统。1.1 管理信息系统 科学技术的进步和生产的发展使人类知识总量的增长不断加快,生产社会化趋势的扩大和社会对产品需求的多样性使得组织在营运活动中所涉及的内部和外部信息量迅速地膨胀起来。面对激烈的市场竞争,人们对这些信息进行收集、加工、传递等过程的时间性和准确性提出了更高的要求。这一切使得传统的手工作业为基础的信息系统陷入了机构日益庞大,效率日益降低的困境。电子计算机的出现为摆脱这种困境找到了出路。计算机用于管理信息处理的突出优点是迅速、准确、可靠、具有很大的存储能力,适应于管理信息量大、面宽的特点,适合于管理信息处理及时、准确的要求。 管理信息系统(MIS,Management Information System)是一个由人和计算机等组成的能够提供信息以支持一个组织机构内部的作业、管理、分析和决策职能的系统。管理信息系统利用计算机的硬件和软件,手工规程、分析、计划、控制和决策用的模型,以及数据库对信息进行收集、传输、加工、保存和使用。因此,管理信息系统是一个信息处理系统。管理信息系统科学依赖于管理科学和技术科学的发展而形成的。管理信息系统科学的三要素是系统的观点,数学的方法以及计算机的应用。这三要素充分结合,相互利用,从而使管理信息系统形成了一个有着鲜明特色的边缘学科。1.2管理信息系统的特点 管理信息系统的结构是指管理信息系统各个组成部分之间相互关系的总和,它是信息收集和加工的体系。管理信息系统的开发是一项应用软件工程。为了使开发工作顺利进行,使开发出来的系统达到实用可靠、高效先进的目的,系统开发一般应遵循如下原则: 1.实用性原则 实用性是系统开发所要遵循的最重要的原则,系统必须满足用户管理上的要求,即保证系统功能的正确性又方便实用,需要友好的用户界面、灵活的功能调度和完善的系统维护措施。为此,系统的开发必须采用成熟的技术,认真细致地作好功能和数据的分析,并充分利用代码技术、菜单技术及人机交互技术,力求向用户提供良好的环境与信心保证。 2.系统的原则 管理信息系统是组织实体内部进行综合信息管理的软件系统,有着鲜明的整体性、综合性、层次结构性和目的性。它的整体功能是由许多子功能的有序组合而成的,与管理活动和组织职能相互联系、相互协调。系统各子功能处理的数据既独立又相互关联,构成一个完整而又共享的数据体系。因此,在管理信息系统的开发过程中,必须十分注重其功能和数据上的整体性、系统性,这就是我们所强调的系统的原则。 3.符合软件工程规范的原则 管理信息系统的开发是一项复杂的应用软件工程,应该按照软件工程的理论、方法和规范去组织和实施。无论采用的是那一种开发方法,都必须注重软件表现工具的运用、文档资料的整理、阶段性评审,以及重视项目管理。1.3管理信息系统的开发过程 图书馆现行的图书管理方法是完全以人工的方式进行的图书的编目、典藏、查询、流通等工作。图书馆管理系统基于计算机技术,实现编目、典藏、流通、读者、查询、系统维护功能。系统对整体功能进行完善。系统对子系统进行调整和划分,编目包括图书/期刊简易编目;典藏可以进行新增、修改及删除馆藏等操作;流通实现借书、还书、续借等各项操作;读者实现对读者资料的各项操作;查询按读者个人借阅情况、编目、馆藏及分类进行查询;系统维护实现对操作员的管理与维护、系统参数维护、操作员登录密码的修改等。第2章 数据库系统设计 绘本图书管理系统数据库模式定义了数据库的结构、表、关系、域和业务规则。数据库模式是一种设计,数据库和应用正是建立在此基础上的。域是一列可能拥有的值的集合。必须为每一个表的每一列确定域。除了数据的物理必填字段外,还需要确定是否有些域对表来说是唯一的。 计算机管理系统图书管理系统数据库模式的最后一个要素是业务规则,它是对需要反映在数据库和数据库应用程序中的业务活动的允许空字符串。业务规则是模式的一个重要部分,因为他们指定了无论什么数据变化到达DBMS引擎,允许的数据值必须满足的允许空字符串。不管无效的数据变化请求是来自窗体的用户、查询/修改请求还是应用程序DBMS都应该拒绝。遗憾的是,不同的DBMS产品用不同的方法实施业务规则。在某些情况下,DBMS产品不具备实施必要业务规则的能力,必须以代码形式把它们编入应用程序。2.1 数据库及其应用 自20世纪70年代以来,数据库技术得到迅速发展。目前世界上已经有数百万个数据库系统在运行,其应用已经深入到社会生活的各个领域,从企业管理,银行管理,资源管理,经济预测一直到信息检索,档案管理,普查统计等。我国20世纪90年代初在全国范围内装备了12个以数据库为基础的大型计算机系统,这些系统分布在邮电、计委、银行、电力、铁路、气象、民航、情报、公安、军事,航天和财税等行业。 现在,数据库技术还在不断发展,并且不断的与其它计算机技术相互渗透。数据库技术与网络通信技术相结合,产生了分布式数据库系统。数据库技术与面象对象技术相结合,产生了面向对象数据库系统等各种数据库系统。 在人类迈向21世纪知识经济的时候,信息变为经济发展的战略资源,信息技术已成为社会生产力重要的组成部分。人们充分认识到,数据库是信息化社会中信息资源管理与开发利用的基础。对于一个国家,数据库的建设规模,使用水平已成为衡量该国信息化程度的重要标志。因此,数据库的学习是非常重要的。2.2 数据库系统 数据库系统本质上是一个用计算机存储记录的系统。数据库本身可被看作为一种电子文件柜:也就是说,它是收集计算机数据文件的仓库或容器。系统用户可以对这些文件执行插入数据、检索数据、更改数据、删除数据等一系列操作。 总之,数据库系统是一个计算机存储记录的系统,即,它是一个计算机系统,该系统的目标存储信息并支持用户检索和更新所需要的信息。图2.2是一个数据系统的简图(见附录A图2.2 数据库系统简图)。2.3 数据库系统简介 本人设计的是一个关于图书馆图书管理的数据库系统,通过这个系统管理员可以简捷、方便的对图书记录查阅、增加、删除等功能,而用户也可以通过这个系统对进行图书查询、借阅、归还等功能。 该数据库应用程序按照用户权限和实现功能的不同分为两部分:外部学生对数据库的查询访问和内部管理人员对数据记录的管理维护。每一部分中包含各自实现的各项功能,对每一项功能的实现,将按照窗体设计以及运行情况的顺序逐一进行设计。 本系统采用Microsoft access技术建立数据库,使用VB技术建立数据源的链接,并且生成图书管理的数据库应用程序从而实现数据库的管理功能。Access 数据库管理系统是Microsoft Office 套件的重要组成部分,适用于小型商务活动,用以存贮和管理商务活动所需要的数据。Access不仅是一个数据库,而且它具有强大的数据管理功能,它可以方便地利用各种数据源,生成窗体(表单),查询,报表和应用程序等。有结构的数据集合,它与一般的数据文件不同,(其中的数据是无结构的)是一串文字或数字流。数据库中的数据可以是文字、图象、声音等。Access一种关系式数据库,关系式数据库由一系列表组成,表又由一系列行和列组成,每一行是一个记录,每一列是一个字段,每个字段有一个字段名,字段名在一个表中不能重复。表与表之间可以建立关系(或称关联,连接),以便查询相关联的信息。Access数据库以文件形式保存,文件的扩展名是MDB。2.4 数据库设计概述 计算机信息系统以数据库为核心,在数据库管理系统的支持下,进行信息的收集、整理、存储、检索、更新、加工、统计和传播等操作。 对于数据库应用开发人员来说,为使现实世界的信息流计算机话,并对计算机话的信息进行各种操作,就是如何利用数据库管理系统、系统软件和相关硬件系统,将用户的要求转化成有效的数据结构,并使数据库结构易于实现用户新的要求的过程。 确切的说,数据库设计是指对于一个给定的应用环境,提供一个确定最优数据模型与处理模式的逻辑设计,以及一个确定数据库存储结构与存取方法的物理设计,建立起既能反映现实世界信息和信息联系,满足用户数据要求和加工要求,有能被某个数据库管理系统所接受,同时能实现系统目标,并有效存取数据的数据库。2.5 数据库设计周期 根据软件工程的思想,数据库设计的周期可以划分为六个阶段: (1)规划阶段 确定开发的总目标,给出计划开发的软件系统的功能、性能、可靠性以及接等方面的设想。 (2)需求分析阶段 认真细致地了解用户对数据的加工要求,确定系统的功能与边界。本阶段的最终结果,提供一个可作为设计基础的系统说明书,包括对软硬件环境的要求和一整套完善的数据流程图。 (3)设计阶段 把需求分析阶段所确定的功能细化,主要工作是概念设计阶段、逻辑设计阶段、物理设计阶段,然后,对每个阶段内部设计详细的流程。 (4)程序编制阶段 以一种或几种特定的程序设计语言表达上一阶段确定的各模块控制流程。程序编制时应遵循结构化程序设计方法。 (5)调试阶段 对已编好的程序进行单元调试(分调),整体调试(联调)和系统测试(验收)。 (6)运行和维护阶段 这是整个设计周期最长的阶段,其工作重点是收集和记录系统实际运行的数据。在运行中,必须保持数据库的完整性,必须有效的处理数据故障和进行数据库恢复。同时解决开发过程的遗留问题,改正错误进行功能完善。2.6 数据库开发工具简介(Access) Access是Office办公套件中一个极为重要的组成部分。刚开始时微软公司是将Access单独作为一个产品进行销售的,后来微软发现如果将Access捆绑在OFFICE中一起发售,将带来更加可观的利润,于是第一次将Access捆绑到OFFICE97中,成为OFFICE套件中的一个重要成员。现在它已经成为Office办公套件中不可缺少的部件了。自从1992年开始销售以来,Access 已经卖出了超过6000万份,现在它已经成为世界上最流行的桌面数据库管理系统。后来微软公司通过大量地改进,将Access的新版本功能变得更加强大。不管是处理公司的客户订单数据;管理自己的个人通讯录;还是大量科研数据的记录和处理,人们都可以利用它来解决大量数据的管理工作。2.7图书管理系统数据库设计 2.7.1数据库需求分析 随着社会发展,人类的生产、生活越来越离不开信息。谁拥有了更多更有效的信息,谁就将在竞争中处于有利地位。信息产业正在成为一个国家的支柱。数据作为信息的载体,其管理工具数据库对于信息技术的重要性,正日益得到人们的重视。只有拥有了先进的数据库技术,才能有效地管理好浩如烟海的数据,并从中提取出对自己有用的信息来加以利用。从60年代末期开始,数据库系统已经经过了30多年的历程,经历了两代的演变。第一代数据库系统是层次与网络的数据库系统。第二代数据库系统是关系数据库系统。30年来,人们主要致力于第二代数据库系统的理论研究和系统开发,取得了辉煌成就。完善关系理论的确立标志着关系数据库系统理论趋于完善。商品化的DB2,INGRES,ORACLS。SYBASE,SQL SERVER等关系数据库的出现标志着关系数据库系统已经接近顶峰。第一代和第二代数据库系统的设计目标源于商业事务处理。多年来,这两代数据库系统主要用于银行,飞机定票等事务处理。80代以来,随着计算机应用领域的迅速扩大,新的数据库应用等。针对新一代数据库应用。从80年代至今,人们一直在探索新一代的数据库系统的理论,技术和方法。 在设计家庭图书管理系统之前,我们应当知道什么是数据库以及VB6。0的开发环境。所谓数据库是指以一定的组织方式存储在一起的,能为多个用户所共享的,与应用程序彼此独立的相关联的数据集合。而数据库系统是指实现有组织的动态的存储大量关联数据,支持多用户访问的计算机软硬件资源与数据库管理员组成的系统。我们的系统是按用户的需求进行数据库定义、存取、运行、建立和维护功能,系统的数据库定义模型图(见附录A 图2.7.1数据库定义模型图)2.7.2数据库概要设计 软件系统本质上是信息处理系统,因此,在软件系统的整个开发过程中都必须考虑两方面的问题--“数据”及对数据的“处理”。为了把用户的数据要求清晰明确地表达出来,系统分析员通常建立一个概念性的数据模型。概念性数据模型是一种面向问题的数据模型,是按照用户的观点来对数据和信息建模,它描述了从用户角度看到的数据,它反映了用户的现实环境,且与在软件系统中的实现方法无关。这里我们运用最常用的表示概念性数据模型的方法,是实体--联系方法即E-R模型。通常,软件系统中有许多数据是需要长期保存。为减少数据冗余,简化修改数据的过程,实现对数据进化规范化。 图2.1数据库表的关系图 图2.2数据库E-R图 2.7.3数据库的具体实现 作为Microsoft公司的本地数据库,Access在应用中使用的非常广泛,为此我选用Access数据库来进行数据库的设计。根据前面定义的实体及实体之间的关系,形成数据库的表格以及各个表之间的关系。1.图书信息表 图2.3数据库book表 2.读者信息表 图2.4数据库reader表 3.借阅登记表 图2.5数据库record表 4.用户表 图2.6数据库user_table表 5.员工表 图2.7数据库worker表 上述所做的各表都是围绕图书借阅系统而做的,所以做好这个方面信息表是本系统成功的关键环节之一。 第3章 系统需求分析 计算机图书馆管理系统是我国大部分院校或其它部门不可缺少的部分,书籍是人类精神食粮,尤其对一些学校,图书馆来说,非常重要。图书馆管理系统能够为用户实现借阅图书、期刊、试卷合订本等,随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对图书资源信息进行管理,具有着手工管理所无法比拟的优点。例如:查阅迅速、安全性高、可靠性高、存储量大、保密性好、成本低等。这些优点能够极大地提高图书馆管理的效率,也是企业、学校的科学化、正规化管理,与世界接轨的重要条件,因此,开发这样一套管理软件是很有必要。3.1 图书管理系统简介 当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了管理好图书馆信息而设计的。 图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工计算、手抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发的基本环境。数据处理手工操作,工作量大,出错率高,出错后不易更改。图书馆采取手工方式对图书借阅情况进行人工管理,由于信息比较多,图书借阅信息的管理工作混乱而又复杂;一般借阅情况是记录在借书证上,图书的数目和内容记录在文件中,图书馆的工作人员和管理员也只是当时对它比较清楚,时间一长,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。如要对很长时间以前的图书进行更改就更加困难了。 基于这此问题,我认为有必要建立一个图书管理系统,使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。3.2 系统功能分析 用户的需求可分为三个方面:一方面是图书馆工作人员通过图书管理系统来管理各类图书,使得图书馆的各项工作能够有序地进行,从而满足学生的需求;二方面是学生们能通过该系统来查询图书馆中的各类图书,来确定自已需要的书籍的借阅情况,为借阅做好准备;三方面是对图书馆数据库管理的需求,数据库在系统中扮演着极其重要的角色,所以能对系统数据库进行安全和全面地管理也成为了图书管理者的一个重要需求。3.3 系统功能总体描述 本系统的主要功能如下: 1.图书管理功能 为了方便图书的借阅管理,需要对图书的信息加于管理。图书管理模块可实现以下功能: * 添加图书信息 * 修改图书信息 * 删除图书信息 * 查询图书信息 2.读者管理功能 为了方便对读者的管理,需要对读者的信息加予管理。读者管理模块可实现以下功能: * 添加读者信息 * 修改读者信息 * 删除读者信息 * 查询读者信息 3.图书借阅管理功能 图书借阅模块功能实现如下: * 添加借书信息 * 查询借书信息 * 添加还书信息 4.系统管理功能 系统管理模块功能实现如下: * 添加管理员 * 修改管理员密码 * 注销 第4章 系统的总体设计 4.1开发环境 VB是微软公司出品的一个快速可视化程序开发工具软件,借助微软在操作系统和办公软件的垄断地位,VB在短短的几年内风靡全球。VB是极有和功能强大的软件,主要表现在:所见即所得的界面设计,基于对象的设计方法,极短的软件开发周期,较易维护的生成代码。VB程序语言具有许多优秀的特性,用其设计应用程序时有两个基本特点:可视化设计和事件驱动编程。 4.4.1可视化设计 同其他的一些可视化程序开发工具一样,VB具有可视化设计的特点,微软的Word在刚刚进入市场时,同WPS竞争的一个重要的功能砝码就是“所见即所得”的字处理功能,VB在设计应用程序界面时也可以说是“所见即所得”.在设计时,头脑中所想象的应用程序界面,完全可以通过键盘鼠标以及徒手画出来,而不是编制大量的代码然后再编译生成,如果需要修改,也是利用键盘鼠标和手画,而底层的一些程序代码由VB自动生成或修改。VB为用户提供大量的界面元素(在VB中称为控件对象),这些控件对象对于熟悉Windows应用程序的用户而言是一点也不陌生,如“窗体”、“菜单”、“命令按钮”、“工具按钮”、“检查框”等等,用户只需要利用鼠标、键盘把这些控件对象拖动到适当的位置,设置它们的大小、形状、属性等,就可以设计出所需的应用程序界面。4.4.2事件驱动编程 Windows操作系统出现以来,图形化的用户界面和多任务多进程的应用程序要求程序设计不能是单一性的,在使用VB设计应用程序时,必须首先确定应用程序如何同用户进行交互.例如发生鼠标单击、键盘输入等事件时,由用户编写的代码控制这些事件的响应,这就是所谓的事件驱动编程。 Vb6.0有三种版本,各自满足不同的开发需要: (1)“Visual Basic 学习版”使编程人员轻松开发Windows 95/98和windows NT的应用程序。该版本包括所有的内部控件连同grid,tab和data-bound控件。学习版提供的文档有“程序员指南”、联机帮助及Visual Basic“联机手册”。 (2)“专业版”为专业编程人员提供了一整套进行开发的功能完备的工具。该版本包括学习版的全部功能连同 ActiveX控件,还包括Internet控件和Crystal Report Writer。专业版提供的文挡有“程序员指南”、联机帮助和“部件工具指南” (3)“企业版”使得专业编程人员能够开发功能强大的组内分布式应用程序。该版本包括专业版的全部功能连同自动化管理器、部件管理器、数据库管理工具、Microsoft面向工程版的控制系统等。企业版提供的文挡包括专业版的所有文挡,还有“客户/服务器应用程序开发指南”和“用户指南”。本系统正是采用Visual Basic 企业版所开发的管理系统。4.2系统功能设计 该系统具有借阅图书,归还图书,查阅图书馆的藏书情况和自己的借阅情况,编辑帐号等功能。高级管理员可以对图书进行录入登记,删除陈旧的书籍;对帐号信息进行增加,删除,修改等操作。还可以来直接查阅自己的借阅情况及图书馆的藏书情况。具体功能如下: * 管理者登陆功能 管理员通过自己的用户名和密码登陆该系统,同时在管理员离开本机的时候,退出该系统,达到其他人不可以进行操作的目的。* 借阅者的登陆功能 这个功能的实现与管理人员登录功能实现的方法大致一样,并且还要简单。是从读者表中查到到账号与密码,看与用户输入的是否一致。如果一致,那么用户就可查看自已的借阅情况并维护自己的部分信息。* 图书的借阅功能 在这个功能中,借阅者输入借阅者的读者编号和所要借阅的图书的图书编号,然后点击借阅按钮就可进行图书借阅。* 图书的归还功能 在此功能中,借阅者根据借阅者的读者编号和归还的图书编号进行还书工作。 图书查询功能 在这个功能中可以在文本框中输入图书编号,点查找按钮后就会在各个相应的组件中显示出信息。 * 高级管理员的帐号管理功能 在此功能中高级管理员可以增加,或是修改借阅者的密码、权限。在此功能中如果选中中的记录,则在右边相应的组件中显示出信息,并且管理员还可对这些记录进行修改或删除已有的记录。并且也可以点增加按钮增加一条或多条新的记录。* 退出系统功能 在系统主窗口中单击“退出”按纽,就退出图书馆管理系统。 由以上功能画出具体功能模块图如下: 图4.1功能图 4.3数据库 数据库是一种存储数据并对数据进行操作的工具。数据库的作用在于组织和表达信息,简而言之,数据库就是信息的集合。计算机的数据库可以分为两类:非关系数据库(flat-file)和关系数据库(relational)。关系数据库中包含了多个数据表的信息,数据库含有各个不同部分的术语,象记录、域等。数据库采用了Microsoft推出的Access数据库,这是微软集成到Office中的一个桌面数据库,能够快速方便的和Office的其他套件综合使用,由功能模块的设计和数据分析画出本系统的数据流图如下: 图4.2数据流图 第5章 详细设计 5.1系统功能设计 由需求分析和系统功能模块分析决定紫铜的窗体设计如下: 表5.1 系统窗体汇总 窗体名称 窗体类型 简要说明 FrmLogIn 启动窗体 系统登陆 Form1 MDI主窗体 系统主窗体 Form2 模式窗体 图书信息录入 Form3 MDI子窗体 职工信息录入 Form4 模式窗体 借书管理 Form5 模式窗体 还书管理 Form6 模式窗体 使用帮助 Form7 模式窗体 读者信息录入 Frm_sys_set 模式窗体 账号管理 frmAbout 模式窗体 关于软件 frmMsg MDI子窗体 友情提示 名称 类型 模块说明 Database 数据类型 数据连接 xp_canvas 窗体 窗体移动 Xpcmdbutton 按钮 个性按钮 Xptopbuttons 系统 最大化,最小化,关闭 5.2系统功能具体实现 1.主界面 主界面的设计采用标准无标题主窗口样式,自上而下依次为:菜单栏、工具条、工作区(本系统采用SSTab页框)、状态栏等。所有系统用户拥有相似的主界面。主界面包含基本的或共享的功能,如书目浏览与检索,基本统计等。 2.用户登陆 图5.1主界面图 该窗体主要完成用户管理登陆功能,也是进入系统的一个重要的门槛,该门槛是有权限限制,根据不同的用户帐号,功能也截然不同,这就是本系统的一个关键点。 图5.2登录窗口图 3.借书 该窗体主要完成读者借阅功能,也是最重要的一项功能之一,读者借阅图书时一同记录下职工人员,借阅后系统信息将保存,以便管理员的核对。一个读者不能重复借阅相同的书以免借书重复。该阅子模块简单,计算机图书综合信息以图书编号归拢在一起,方便借阅。 图5.3借书窗口图 4.还书 还书这一环节,也是最重要的一项功能之一,用户需要提供读者编号和图书编码,经过查询无误后,就能方便的还书。 图5.4还书窗口图 5.图书查询 在主界面点击 xpcmdbutton5控件按钮,数据控件将显示 当前表“book”信息,图书编码,图书名称,作者,出版社等,一目了然,无权限。 主要程序代码: Private Sub xpcmdbutton5_Click()open_connection(“book”)tablename = “record” Set DataGrid1.DataSource = rst End Sub 6.图书录入 新书录入窗口中显示的是员工必要信息。可供用户增加、修改、删除、显示上一记录、下一记录等功能。向数据库中添加新的记录、删除不需要的记录、修改错误的记录、对数据库中的信息进行查询。当用户想修改某条记录时,只要双击“修改记录”按钮控件中修改要修改的记录,就会自动弹出详细信息窗体,该窗体已经显示了你要得信息,你就可以对其该条记录进行修改了。本系统的一大特点可以直接在TEXT文本框进行数据修改,修改后,按ENTER键即可完成修改,并保存在数据库“book”表中。 图5.5图书录入窗口图 5.职工查询 这一功能应用在“xpcmdbutton7”控件上,DataGrid1控件显示职工信息,如职工的工号,姓名,地址等,读者没有查询权限。代码如下: Private Sub xpcmdbutton7_Click()open_connection(“worker”)tablename = “worker” Set DataGrid1。DataSource = rst End Sub 6.职工录入 该窗体可供管理员增加、修改、删除、显示上一记录、下一记录员工信息等功能。也同样向数据库中添加新的记录、删除不需要的记录、修改错误的记录、对数据库中的信息进行查询。当管理员想修改某条记录时,只要双击“修改记录”按钮控件中修改要修改的记录,就会自动弹出详细信息窗体,该窗体已经显示了你要得信息,你就可以对其该条记录进行修改了。也可以直接在TEXT文本框进行数据修改,修改后,按ENTER键即可完成修改,并保存在数据库“worker”表中。7.读者录入 该窗体同职工录入一样,可供管理员增加、修改、删除、显示上一记录、下一记录员工信息等功能。也同样向数据库中添加新的记录、删除不需要的记录、修改错误的记录、对数据库中的信息进行查询。8.读者信息 这一功能应用在“xpcmdbutton15”控件上,DataGrid1控件显示职工信息,如读者的姓名,编号,地址,电话号码等,任何人可以查阅直接添加信息。数据出于“"reader” 表中。代码如下: Private Sub xpcmdbutton15_Click()open_connection “reader” tablename = “reader” Set DataGrid1。DataSource = rst End Sub 5.3会员管理模块具体实现 先对实例进行流程分析,所谓系统流程就是用户在使用系统是的工作过程。对于多类型用户的管理系统来说,每一类用户的工作流程都是不相同的。多用户系统的工作流程都从用户登陆模块开始的,对多用户的身份进行认证。身份认证可以分为以下两个过程: (1)确认用户是否是有效的系统用户。 (2)确定用户的类型。 第 1决定用户能否进入系统。第2个过程根据用户的类型决定用户的操作权限,从而决定用户的工作界面。5.4用户权限设置 本系统的权限分为4个等级: * 数据浏览者 拥有功能:图书查询、借阅查询、读者信息浏览、使用帮助、关于软件、退出系统。* 2级管理员 增加功能:借书、还书、职工查询。* 3级管理员 增加功能:图书录入。* 系统管理员 增加功能:职工录入,读者录入,账号设置。5.5 权限的具体实现 5.5.1 模块准备 首先,在VB所建工程中添加Database模块,定义出一个全局变量privilege,如下: Public privilege As Integer 在用户登录时根据privilege的值决定权限,从而判断用户登陆成功后的功能模块。 其次,在模块中建立一个check_privage函数供其他窗体需要权限验证时调用此函数。设置函数check_privage参数为rightlevel。具体代码如下: Public Sub check_privage(rightlevel As Integer)Dim right As Integer right = rightlevel Select Case right Case 1: Form1.xpcmdbutton1.Enabled = False Form1.xpcmdbutton2.Enabled = False Form1.xpcmdbutton3.Enabled = False Form1.xpcmdbutton4.Enabled = False Form1.xpcmdbutton5.Enabled = True Form1.xpcmdbutton6.Enabled = True Form1.xpcmdbutton7.Enabled = False Form1.xpcmdbutton8.Enabled = False Form1.xpcmdbutton10.Enabled = False Form1.Show Unload frmLogin Case 2: Form1.xpcmdbutton1.Enabled = True Form1.xpcmdbutton2.Enabled = True Form1.xpcmdbutton3.Enabled = False Form1.xpcmdbutton4.Enabled = False Form1.xpcmdbutton5.Enabled = True Form1.xpcmdbutton6.Enabled = True Form1.xpcmdbutton7.Enabled = True Form1.xpcmdbutton8.Enabled = False Form1.xpcmdbutton10.Enabled = False Form1.Show Unload frmLogin Case 3: Form1.xpcmdbutton1.Enabled = True Form1.xpcmdbutton2.Enabled = True Form1.xpcmdbutton3.Enabled = True Form1.xpcmdbutton4.Enabled = False Form1.xpcmdbutton5.Enabled = True Form1.xpcmdbutton6.Enabled = True Form1.xpcmdbutton7.Enabled = True Form1.xpcmdbutton8.Enabled = False Form1.xpcmdbutton10.Enabled = False Form1.Show Unload frmLogin Case 4: Form1.xpcmdbutton1.Enabled = True Form1.xpcmdbutton2.Enabled = True Form1.xpcmdbutton3.Enabled = True Form1.xpcmdbutton4.Enabled = True Form1.xpcmdbutton5.Enabled = True Form1.xpcmdbutton6.Enabled = True Form1.xpcmdbutton7.Enabled = True Form1.xpcmdbutton8.Enabled = True Form1.xpcmdbutton10.Enabled = True Form1.Show Unload frmLogin End Select End Sub 5.5.2 登录调用 在用户登录时,程序从user_table表中验证用户名和密码后读取“权限”的值赋给变量privilege,然后把privilege当做参数调用check_privage 函数从而达到权限功能的分配,重要代码如下: If LCase(Trim(rst![登录名]))= LCase(Trim(Text1.Text))Then If Trim(rst![密码])= Trim(Text2.Text)Then privilege = rst![权限] Call check_privage(privilege) ..............5.6 会员管理具体实现 5.6.1 读者管理 该窗体可供管理员增加、修改、删除、显示上一记录、下一记录读者信息等功能。也同样向数据库中添加新的记录、删除不需要的记录、修改错误的记录、对数据库中的信息进行查询。该窗体已经显示了你要得信息,你就可以对其该条记录进行修改了。也可以直接在TEXT文本框进行数据修改,修改后,按ENTER键即可完成修改,并保存在数据库中。 图5.6读者录入窗口图 主要方法是打开数据库并对窗体控件赋值,添加的时候先检验reader表里面是否已存在此读者编号。打开数据库并对窗体控件赋值的主要代码如下: Private Sub Form_Load()Dim sql1 As String Set rst = New ADODB.Recordset sql1 = “select * from reader” Call connect_db rst.Open sql1,con,adOpenDynamic,adLockOptimistic Set Text1.DataSource = rst Set Text2.DataSource = rst Set Text3.DataSource = rst Set Text4.DataSource = rst Set Text5.DataSource = rst Set Text6.DataSource = rst Set Text7.DataSource = rst Set Text8.DataSource = rst Text1.DataField = “读者编号” Text2.DataField = “读者姓名” Text3.DataField = “性别” Text4.DataField = “电话号码” Text5.DataField = “家庭地址” Text6.DataField = “读者类别” Text7.DataField = “工作单位” Text8.DataField = “登记日期” End Sub 修改完成后rst.Update保存更改。5.6.2 员工管理 该窗体同读者管理窗体一样可供管理员增加、删除、显示上一记录、下一记录员工信息等功能。也同样向数据库中添加新的记录、删除不需要的记录、修改错误的记录、对数据库中的信息进行查询和修改。修改后确定即可完成修改,并保存在数据库 “worker”表中。 图5.7职工录入窗口图 上下记录的实现代码如下: Private Sub Command*_Click()上一记录 If rst.BOF Then frmMsg.Show frmMsg.info.Visible = True frmMsg.Text1.Text = “已经到达记录顶端!” Exit Sub Else rst.MovePrevious End If End Sub Private Sub Command*_Click()下一记录 If rst.EOF Then frmMsg.Show frmMsg.info.Visible = True frmMsg.Text1.Text = “已经到达记录底端!” Exit Sub Else rst.MoveNext End If End Sub 5.6.3 账号管理 帐户管理,即可以添加权限帐户,又可以对权限帐户进行修改或者删除,这里用户权限级别分4种,关键字:1,2,3,4。1.浏览者 权限:1 2.2级管理员 权限:2 3.3级管理员 权限:3 4.系统管理员 权限:4 打开系统时,会有一个默认的浏览者账号密码,默认用户名:reader 密码默认。直接点确认就可以作为一个浏览者进入,查询图书馆内部的书籍。图5.8账户管理窗口图 1.增加账号 可以直接在空间里面填写信息,完成后直接点增加账号即可,首先验证用户名是否为空,然后验证是否已存在,最后检测权限范围是否是1到4之间。不出问题填写完成最后会提示是否添加。 图5.9提示窗口图 主要代码如下: user.user_id = CStr(LTrim(Text1.Text))user.pwd = CStr(LTrim(Text2.Text))user.right = LTrim(Text3.Text)ans = Msgbox(“增加用户吗?”,vbOKCancel + vbInformation,“提示!”)If ans = vbOK Then rst.AddNew rst![登录名] = user.user_id rst![密码] = user.pwd rst![权限] = user.right rst.Update Text1.Text = “" Text2.Text = ”“ Text3.Text = ”“ List1.AddItem rst![登录名] Command3.Enabled = True 2.修改账号 首先系统会判断是否已选中要修改的记录。选中后,被选中信息会填充在左边的控件里,直接修改信息后点修改即可。 如果没有选中要修改的记录会弹出窗口如图所示: 图5.10友情提示窗口图 显示选中信息主要代码如下: Dim sql As String inx = List1.ListIndex sql = ”select * from user_table where [登录名] ='“ & Trim(List1.List(inx))& ”'“ rst.Close rst.Open sql,con,adOpenDynamic,adLockOptimistic Text1.Text = rst![登录名] Text2.Text = rst![密码] Text3.Text = rst![权限] 修改信息主要代码如下: sql = ”UPDATE“ & ” user_table “ & ” SET [登录名] ='“ & Trim(Text1.Text)& ”'“ & ” where [登录名] = '“ & Trim(List1.List(inx))& ”'“ con.BeginTrans '启动事务 con.Execute sql '执行查询 con.CommitTrans '保存所有更改并退出事务..............3.删除账号 首先,判定是否有选中项,如果选中,则删除选中项。窗体初始化是定义一参数inx,并初始化为-1,单击右侧List1选中账号时赋值inx = List1.ListIndex。 图5.11友情提示窗口图 主要代码如下: If inx =-1 Then frmMsg.Show frmMsg.notice.Visible = True frmMsg.Text1.Text = ”请挑选要删除的项!“ ..........List1.RemoveItem(inx)'索引显示删除 rst.Delete '删除表内记录 第5章 结 论 经过将近三个月的设计和开发,绘本管图书馆管理系统基本开发完毕。其功能基本符合用户的需求,能够完成用户的图书信息管理,图书借阅管理,读者信息管理,系统维护等方面的功能,以及各种相关功能的扩展。但是由于毕业设计时间较短加上知识的有限,该系统还有许多不足的地方,源程序调试方面的问题还有好多,出错处理不够等方面问题。这些都有待于今后进一步的改善。在设计过程中,通过学习了解了数据库系统的开发原理和应用,基本掌握了开发工具Visual Basic6.0和Microsoft Access的使用,为今后的学习和开发打下了坚实的基础。 在本次毕业设计中,在没有做毕业设计以前觉得毕业设计只是对这几年来所学知识的单纯总结,但是通过这次做毕业设计发现自己的看法有点太片面。毕业设计不仅是对前面所学知识的一种检验,而且也是对自己能力的一种提高。通过这次毕业设计使我明白了自己原来知识还比较欠缺。自己要学习的东西还太多,以前老是觉得自己什么东西都会,什么东西都懂,有点眼高手低。通过这次毕业设计,我才明白学习是一个长期积累的过程,在以后的工作、生活中都应该不断的学习,努力提高自己知识和综合素质。我从指导老师那学到了好多东西。老师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我受益非浅。在系统设计开发过程中杨华老师给予了很大的帮助,帮助解决了很多难题,使得系统能及时开发完成,在设计过程中,我通过查阅大量有关资料,与同学交流经验和自学,并向老师请教等方式,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。在整个设计中我懂得了许多东西,也培养了我独立工作的能力,树立了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响。而且大大提高了动手的能力,使我充分体会到了在创造过程中探索的艰难和成功时的喜悦。虽然这个设计做的也不太好,但是在设计过程中所学到的东西是这次毕业设计的最大收获和财富,使我终身受益。 致 谢 首先,感谢学校对我的培养,通过这次的毕业设计让我对开发工具有了更深刻的认识,这次实训让我懂得了要怎样用工具实现自己想要的东西,让我在理论和实践两方面都学到了很多。通过整个设计过程,我在计算机理论和实践方面都学到了很多东西。 同时要感谢老师对我传授的知识,并感谢老师对我的细心指导,我在做课题的时候遇到了一些问题,通过老师的指导和讲解让我明白了很多问题,并在理论与实践方面给予了我很多的启发,让我知道了在设计过程中的许多规范性问题,使我的课题能够顺利的、大工作量的完成。在此向他们致以最衷心的感谢。 同时感谢我的毕业设计指导老师,杨老师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我收益匪浅。她无论在理论上还是在实践中,都给与我很大的帮助,使我得到不少的提高这对于我以后的工作和学习都有一种巨大的帮助,感谢她耐心的辅导;感谢所有跟我一块努力、帮助过我的同学。 谢谢你们! 参考文献 [1] 孙越编著.Visual Basic数据库开发教程[M].人民邮电出版社,2002.[2] 启明工作室.Visual Basic +Access数据库应用系统开发[M].人民邮电出版社,2004.[3] 王小茹, 吴财军, 苏振刚等.Visual Basic 6.0 实例解析[M].北京大学出版社,2000.[4] 黄志球,李清等.数据库应用技术基础[M].机械工业出版社,2003.[5] 刘韬.Visual Basic6.0数据库系统开发导航[M].人民邮电出版社,2003.[6] 恒扬科.Visual Basic6.0程序设计学与用教程[M ].机械工业出社,2003.[7] 刘瑞新,张二峰等.Visual Basic管理信息系统开发[M].机械工业出版社,2005.[8] 严蔚敏,吴伟民.数据结构[M].清华大学出版社,2008.[9] 姚巍.Visual Basic 数据库开发及工程实例[M].北京人民邮电出版社,2003.[10] Stephen Forte, Kurt Wall等著.access开发实用全书[M].电子工业出版社,2002.[11] A Blog Mining Framework IT Professional [J].卷次:11刊期:1 January 2009.[12] What's with This Blog Thing? IEEE Software [J].卷次:24刊期:5 September 2007.[13] Steve Walther.ASP.NET:Tips,Tutorials,and Code[M].电子工业出版社,2007-07.附 录 附录A: 附加图、表 图2.2 数据库系统简图 图2.7.1数据库定义模型图 附录B: 部分主要源程序 权限设置的主要代码: Option Explicit Public constr As String '数据库连接信息 Public privilege As Integer '用户权限 Public rst As ADODB.Recordset '数据库内的记录 Public rst1 As ADODB.Recordset Public rst2 As ADODB.Recordset Public con As ADODB.Connection Public tablename As String Type userdata '用户信息,包括用户名,密码和对应的权限 user_id As String pwd As String right As Integer End Type Public Sub connect_db()constr = ”Provider=Microsoft.Jet.OLEDB.4.0;“ + ”Data Source=“ + App.Path + ”dataComputerBookmanage.mdb“ + ”;Persist Security Info=False“ '数据库引擎+路径 Set con = New ADODB.Connection '新建一个数据库连接 con.CursorLocation = adUseClient '用于客户端(ADOR)Recordset对象,游标 库属性必须为adUseClient con.ConnectionString = constr '连接信息 con.Open End Sub Function open_connection(table_name As String)Dim sqlstr As String Dim str As String Set con = New ADODB.Connection Set rst = New ADODB.Recordset con.CursorLocation = adUseClient sqlstr = ”Provider=Microsoft.Jet.OLEDB.4.0;“ + ”Data Source=“ + App.Path + ”dataComputerBookmanage.mdb“ + ”;Persist Security Info=False“ con.Open sqlstr str = ”select * from “ & table_name & ”“ '执行SQL查询 rst.Open str, con, adOpenDynamic, adLockOptimistic rst.Requery End Function Public Sub check_privage(rightlevel As Integer)Dim right As Integer right = rightlevel Select Case right Case 1: '普通用户,只能查询图书信息和借阅信息 Form1.xpcmdbutton1.Enabled = False Form1.xpcmdbutton2.Enabled = False Form1.xpcmdbutton3.Enabled = False Form1.xpcmdbutton4.Enabled = False Form1.xpcmdbutton5.Enabled = True Form1.xpcmdbutton6.Enabled = True Form1.xpcmdbutton7.Enabled = False Form1.xpcmdbutton8.Enabled = False Form1.xpcmdbutton10.Enabled = False Form1.Show Unload frmLogin Case 2: '2级管理员,还可以借书和还书 Form1.xpcmdbutton1.Enabled = True Form1.xpcmdbutton2.Enabled = True Form1.xpcmdbutton3.Enabled = False Form1.xpcmdbutton4.Enabled = False Form1.xpcmdbutton5.Enabled = True Form1.xpcmdbutton6.Enabled = True Form1.xpcmdbutton7.Enabled = True Form1.xpcmdbutton8.Enabled = False Form1.xpcmdbutton10.Enabled = False Form1.Show Unload frmLogin Case 3: '3级管理员,可以录入图书 Form1.xpcmdbutton1.Enabled = True Form1.xpcmdbutton2.Enabled = True Form1.xpcmdbutton3.Enabled = True Form1.xpcmdbutton4.Enabled = False Form1.xpcmdbutton5.Enabled = True Form1.xpcmdbutton6.Enabled = True Form1.xpcmdbutton7.Enabled = True Form1.xpcmdbutton8.Enabled = False Form1.xpcmdbutton10.Enabled = False Form1.Show Unload frmLogin Case 4: '系统管理员 Form1.xpcmdbutton1.Enabled = True Form1.xpcmdbutton2.Enabled = True Form1.xpcmdbutton3.Enabled = True Form1.xpcmdbutton4.Enabled = True Form1.xpcmdbutton5.Enabled = True Form1.xpcmdbutton6.Enabled = True Form1.xpcmdbutton7.Enabled = True Form1.xpcmdbutton8.Enabled = True Form1.xpcmdbutton10.Enabled = True Form1.Show Unload frmLogin End Select End Sub 登陆后权限的分配主要代码如下: If LCase(Trim(rst![登录名]))= LCase(Trim(Text1.Text))Then If Trim(rst![密码])= Trim(Text2.Text)Then privilege = rst![权限] Call check_privage(privilege)'权限分配 读者管理主要代码: Private Sub Command1_Click()'添加记录 Dim sql As String Dim param As ADODB.Parameter Dim cmd As ADODB.Command Set cmd = New ADODB.Command Set param = New ADODB.Parameter sql = ”select * from reader where [读者编号]= ? “ If Command1.Caption = ”添加记录“ Then Command1.Caption = ”确 定“ Command2.Enabled = False Command3.Enabled = False Command4.Enabled = False rst.AddNew Else If Text1.Text = ”“ Then frmMsg.Show frmMsg.notice.Visible = True frmMsg.Text1.Text = ”读者编号不能为空!“ Command2.Enabled = True Command3.Enabled = True Command4.Enabled = True Command1.Caption = ”添加记录“ Exit Sub End If With param.Direction = adParamInput.Type = adBSTR.Size = 8.Value = Text1.Text End With cmd.Parameters.Append param cmd.CommandText = sql cmd.CommandType = adCmdText Set cmd.ActiveConnection = con Set rst1 = cmd.Execute '检测读者编号是否存在防止主键冲突 If rst1.RecordCount > 0 Then frmMsg.Show frmMsg.notice.Visible = True frmMsg.Text1.Text = ”此读者编号已经存在!“ rst.Cancel Command2.Enabled = True Command3.Enabled = True Command4.Enabled = True Command1.Caption = ”添加记录“ Exit Sub End If rst.Update frmMsg.Show frmMsg.notice.Visible = True frmMsg.Text1.Text = ”添加成功!“ Command2.Enabled = True Command3.Enabled = True Command4.Enabled = True Command1.Caption = ”添加记录“ End If End Sub Private Sub Command2_Click()'删除纪录 Dim ans As String ans = Msgbox(”确定要删除此记录吗?“, vbYesNo, ”提示“)If ans = vbYes Then rst.Delete rst.Requery Else Exit Sub End If End Sub Private Sub Command3_Click()'上一记录 If rst.BOF Then frmMsg.Show frmMsg.info.Visible = True frmMsg.Text1.Text = ”已经到达记录顶端!“ Exit Sub Else rst.MovePrevious End If End Sub Private Sub Command4_Click()'下一记录 If rst.EOF Then frmMsg.Show frmMsg.info.Visible = True frmMsg.Text1.Text = ”已经到达记录底端!“ Exit Sub Else rst.MoveNext End If End Sub Private Sub Command5_Click()Unload Me End Sub Private Sub Form_Load()Dim sql1 As String Set rst = New ADODB.Recordset sql1 = ”select * from reader“ '打开数据库并对窗体控件赋值 Call connect_db rst.Open sql1, con, adOpenDynamic, adLockOptimistic Set Text1.DataSource = rst Set Text2.DataSource = rst Set Text3.DataSource = rst Set Text4.DataSource = rst Set Text5.DataSource = rst Set Text6.DataSource = rst Set Text7.DataSource = rst Set Text8.DataSource = rst Text1.DataField = ”读者编号“ Text2.DataField = ”读者姓名“ Text3.DataField = ”性别“ Text4.DataField = ”电话号码“ Text5.DataField = ”家庭地址“ Text6.DataField = ”读者类别“ Text7.DataField = ”工作单位“ Text8.DataField = ”登记日期" End Sub Private Sub xptopbuttons1_Click()Unload Me End Sub Private Sub xptopbuttons2_Click()Me.WindowState = 1 End Sub Private Sub Frame1_DragDrop(Source As Control, X As Single, Y As Single) End Sub 附录C: 使用说明 使用说明 1文件说明 本系统编译好只要一个exe文件和一个数据库文件。文本里面是不同权限的用户名和密码。如下图: 2.使用说明 双击exe文件,没注册用户会有一个初始化的账号密码,只能浏览绘本,其他权限的账号密码在txt文本中有说明。I XXXXXXXXX学院毕业设计(论文) 关于“食堂问题解决方案”的总结 10月5日下午,我系学生会各部门联合对我校食堂进行了一次检查。食堂经亲自接待了各部长,并带各部长参观了食堂的工作环境。首先,介绍一下各部了解到的我校食堂存在的,也是同学们集中反映的问题: 1、米饭硬 2、食堂卫生差 3、食堂工作人员服务态度不好 4、雅苑食堂无电视 5、雅苑食堂饭菜品种单一 6、晚去食堂无东西吃 根据以上问题,食堂经理分别作了回答: 1、我校设备相对陈旧,因此米饭生产线不如其他高校。一是因为我校建校较早,二是因为国家对食堂的拨款不能直接由食堂支配。所以食堂方面也无能为力,只能请 同学们谅解。 2、至于食堂卫生方面,经理说每餐过后食堂都会清理餐桌两次,最后用干抹布擦干,确保桌面无油、无垢;此外,墙角灰网,工作人员也会定期清扫;对于洗菜问题,经理强调,请同学们放心,食堂有专门的洗菜池,池里卫生也很清洁;近期甲流较为严重,有人担心食堂工作人员可能存在问题,经理说,每名工作人员都配有手套、口罩和帽子,保证操作过程的食品安全。同时,经理指出,同学们在就餐时,可对工作人员予以监督,若其缺少以上任何一种防护措施,即可立即举报。 3、对于服务态度问题,经理说,食堂工作人员年龄较大,与我们父母相仿,所以可能存在一定的代沟,而同龄的服务人员态度较好,毕竟沟通较为随意,所以这点经理也只能请同学们多多担待。 4、雅苑食堂无电视的问题,已被反映上去,相信不久就会有回应,所以请同学们耐心等待。 5、雅苑食堂饭菜品种单一,经理已于采购人员沟通过,应该会尽快解决。另外,食堂师傅毕竟不是大厨,所以水平有限,也请同学们多多包涵。 6、食堂方面已经实行了一项措施,就是每天中午和晚上,会留有两个值班窗口,延迟服务时间,分别推迟到下午一点和晚上七点,以方便晚归同学就餐。 总之,针对以上问题,食堂已分别采取了相应措施,以尽量满足同学们的需求,食堂方面也希望同学们文明就餐,爱护食堂就像爱护自己的家一样。同时,也希望同学们今后能够及时发现和提出食堂的不足,并及时反映给我们,以便食堂能够更好的为同学们服务。 生活部 班级问题总结及解决方案 光阴似箭,转眼即逝,不知不觉本学期已经过去了一半,这一段时间我们的学习生活可谓是过得多姿多彩,有声有色。但是,在开心和快乐之余,也不能忘了发现和总结存在的问题以及找到解决的办法。 首先,从学习方面: 一:在晨练过程中,少数同学跑步不积极,女生居多,找各种理由推脱。 针对这一问题,首先,我们先采取找这一部分同学单独谈话的方式,告诉她们跑步的重要性。其次,我们可以用创新的手法,变化各种形式,达到和跑步同样的效果。比如:原地高抬腿,以游戏的形式让同学们活动起来,例如“贴膏药”,既调动了同学们的积极性,也锻炼了气息,一举两得。 二:在除专业课的其他课上,很多同学的状态有所懈怠,会出现玩手机,睡觉等情况。 针对这一问题,我们采取奖惩制度,比如,对各门学科成绩优异的同学进行表扬并进行物质上的奖励,对成绩落后的同学实行惩罚,例如扣量化分、罚扫地等等并在班上通报批评,如果下次有所进步则同样进行奖励。 三:课余时间同学们没有合理利用,更多时间用来上网,玩游戏等等,没有对课堂的知识进行复习巩固预习以及做课外延伸。 针对这一问题,我们采取了“早晚自习”的方法,在没有课的时间,讲同学们集合到教室一起自习。普测来临之际,我们也在班里放朗诵范读,不定时的抽查同学们的即兴说话,并且说完后下面的同学要点评,说出对方存在的问题,用这种方式共同进步。 其次,在生活方面: 一:目前存在有个别寝室内部不和谐的情况,个别同学之间存在不和。 针对这一问题,我们采取两种方法。第一种,是在班级里以寝室为单位开展文娱活动,每个寝室必须参加,并且寝室里所有同学必须一起参加。以这种方式加强各寝室的感情,使之更加紧密。第二种,是与这极少数同学沟通,了解情况,根据不同的情况做出寝室调整,满足同学的需要,选择自己想要的生活环境。此方法一定得是建立在特殊的条件下,当无法协调时才用。 二:各寝室的卫生工作很不到位,尤其是男生寝室,内务工作没有落实到位。针对这一情况,我们采取开展美化寝室的比赛,获胜的寝室将得到适当的物质奖励,并且该寝室没人加适量的量化分。 三;班级卫生较差,没有定时打扫,导致教室里灰尘以及一些生活垃圾存在。针对这一情况,我们采取寝室轮流打扫制,一个寝室打扫一周,从男生寝室开始轮。如果在班级卫生这一项有出现被学校扣分等情况,则由该周负责打扫的寝室承担责任。根据扣分情况加罚打扫时间,并且酌情扣除量化分。 四:个别同学的生活作息时间安排不当,晚上迟迟不睡觉。不仅不利于自身健康影响第二天的学习生活,也对同寝室的同学造成影响。 针对这一问题,我们采取第二天晨练的点名时间提前,并且严格查人,有迟到着,扣量化分。 以上是本班近期以来,出现的一些问题,以及我们做出的解决措施。相信在全体同学的共同努力下,这些问题最终都会迎刃而解的! 二零一零级播主七班2011年4月13日第三篇:VB_图书管理系统_毕业设计论文
第四篇:食堂问题解决方案总结
第五篇:班级问题总结及解决方案.doc