第一篇:VB旅游管理系统实验报告
VB实验报告
——旅游资源管理及路线设计系统
实验报告
1.实验目的(1)学会程序的设置,掌握数据库的建立以及与程序的链接。
(2)将零散的知识系统化。
(3)进一步加深对计算机的了解。
2.实验要求
制作一个旅游资源管理及路线设计系统。主要内容包括:
①管理员管理,其中分为管理模块与查询模块。管理模块分为旅游信息管理、景点管理、导游管理。查询模块分为景点与导游管理、导游与景点查询、导游与游客查询、景点与游客管理、游客与景点管理。
②员工查询,其中分为景点与导游管理、导游与景点查询、导游与游客查询、景点与游客管理、游客与景点管理。
③游客查询,基本查询与员工查询一样。
此系统涵盖管理员与员工及游客三大系统。包含管理与查询。管理可以对导游的信息以及景点的各个信息做出及时的修改。同时也可以查询到很多方面,如导游信息、旅游线路、旅游价格、旅游景点的风景、以及最终的满意程度。
3.实验内容与步骤
(1)在界面上设置出旅游线路的整体规划。
(2)根据界面编写程序。
①编写管理员登陆界面的代码
Option Explicit
Public txtsql As String
Public username As String
Private Sub Form_Load()
txtid.Text = “"
txtpas.Text = ”“
End Sub
'启动拖放
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
moveit = True
cx = X: cy = Y
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If moveit = True Then
'调用函数获得鼠标位置,未知信息存放在变量zb中
GetCursorPos zb
Me.Move zb.X * 1565, zb.Y * 15350
End If
End Sub
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
moveit = False
End Sub
Private Sub Form_Unload(Cancel As Integer)
Unload Me
End Sub
Private Sub Image1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
'启动拖放
moveit = True
cx = X: cy = Y
End Sub
Private Sub Image1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If moveit = True Then
'调用函数获得鼠标位置,未知信息存放在变量zb中
GetCursorPos zb
Me.Move zb.X * 1565, zb.Y * 15350
End If
End Sub
Private Sub Image1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
'停止拖放
moveit = False
End Sub
Private Sub Image3_Click()
txtid.Text = ”“
txtpas.Text = ”“
End Sub
Private Sub Image5_Click()
End
End Sub
Private Sub Label4_Click()
'查找数据库中是否有相同名称的用户
txtsql = ”select username from 用户权限表 where username='“ & Trim(txtid.Text)& ”'“
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = txtsql
Adodc1.Refresh
If Adodc1.Recordset.EOF = True Then'如果当前记录位置位于Recordset对象的最后一个记录之后
MsgBox ” 用户名错误!“, vbExclamation + vbOKOnly, ”警告“
txtid.Text = ”“
txtid.SetFocus
Else
'查找数据库中是否有相同密码的用户
txtsql = ”select username from 用户权限表 where password='“ & Trim(txtpas.Text)& ”'“
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = txtsql
Adodc1.Refresh
'记录是否为空
If Adodc1.Recordset.EOF = True Then'如果当前记录位置位于Recordset对象的最后一个记录之后
MsgBox ” 密码错误!“, vbExclamation + vbOKOnly, ”警告“
txtpas.Text = ”“
txtpas.SetFocus
Else
管理员总控.Show
Unload Me
End If
End If
End Sub
Private Sub Label5_Click()
txtid.Text = ”“
txtpas.Text = ”"
End Sub
Private Sub Label6_Click()
End
End Sub
②编写员工登陆界面的代码:
Private Sub Form_Load()
opt1.Value = False
opt2.Value = False
End Sub
Private Sub Image2_Click()
If opt1.Value = True Then
管理员登录.Show: 登录.Hide
ElseIf opt2.Value = True Then
员工登录.Show: 登录.Hide
End If
End Sub
Private Sub Image6_Click()
'退出程序
End
End Sub
Private Sub Label1_Click()
End
End Sub
(3)建立数据库,将搜索的旅游信息、数据,放入数据库中,与程序进行链接。
(4)运行程序。
3.实验心得
这次实验中我运用了Visual Basic 以及Access数据库及其与程序的链接等软件,制作出了一个简单的旅游资源管理及路线设计系统。
在这个系统的制作过程中,许多过程是我所不熟识的,所以,系统的制作,对我来说,是一个挑战。同时,我也从中学到好多,比如将零散的知识在系统中运用,让它们体现出自身的价值。再者,我认识到知识只有在实际中才能发挥作用。还有自己知识的短缺。
因此,我会记住这次试验,它让我了解到好多从未发现的东西。在以后的学习中,改变自身的缺点,尽量让这种不足减少或消失。争取以后能熟练的应用VB语言及数据库的应用。
第二篇:VB图书管理系统
图书管理系统的设计与实现
目录
一、序言······················································································································4
二、需求分析说明书 ····································································································4 2.1系统介绍..................................................................................................................................................4 2.2系统面向的用户群体..............................................................................................................................4 2.3系统的功能性需求..................................................................................................................................4 2.4系统的非功能性需求..............................................................................................................................5 2.4.1用户界面需求...................................................................................................................................5 2.4.2软硬件环境需求...............................................................................................................................5 2.4.3软件质量需求...................................................................................................................................5
三、可行性分析报告 ····································································································5 3.1技术可行性..............................................................................................................................................5 3.2人员可能性..............................................................................................................................................5 3.3时间、设备可能性..................................................................................................................................5 3.4系统工作量..............................................................................................................................................5 3.5代码工作量..............................................................................................................................................5 3.6文档要求..................................................................................................................................................5
四、开发环境与项目规划 ·····························································································5 4.1开发环境..................................................................................................................................................5 4.2项目规划与管理......................................................................................................................................5 4.2.1开发人员安排...................................................................................................................................5 4.2.2开发进度安排...................................................................................................................................6
五、软件界面设计标准与规范 ······················································································6 5.1编写目的..................................................................................................................................................6 5.2界面设计思想..........................................................................................................................................6 5.3界面设计原则..........................................................................................................................................6 5.4界面设计样式..........................................................................................................................................6 5.5常见提示信息样式..................................................................................................................................6 5.6常见错误信息样式..................................................................................................................................7 5.7其他界面约定..........................................................................................................................................7
六、软件编码设计标准与规范 ······················································································7 6.1对象命名约定..........................................................................................................................................7 6.2常量和变量命名约定..............................................................................................................................8 6.3结构化编码约定......................................................................................................................................8 6.4数据源的约定..........................................................................................................................................9 6.5数据库访问约定......................................................................................................................................9 6.6其他约定..................................................................................................................................................9
七、数据库分析与设计·································································································10 7.1数据库环境说明.......................................................................................................................................10 7.2数据库命名标准与规范...........................................................................................................................10 7.3数据库逻辑设计.......................................................................................................................................10 7.4数据库物理设计.......................................................................................................................................10 7.4.1表、视图汇总...................................................................................................................................10 7.4.2各表、视图设计详解.......................................................................................................................11
八、软件体系结构设计说明书 ······················································································15 8.1系统概述..................................................................................................................................................15 8.2设计约束..................................................................................................................................................15 8.3设计策略..................................................................................................................................................15 8.4系统概要设计说明书..............................................................................................................................16 8.4.1图例说明...........................................................................................................................................16 8.4.2系统总体结构图...............................................................................................................................16 8.5系统详细设计说明书..............................................................................................................................17 8.5.1系统模块汇总...................................................................................................................................17 8.5.2系统核心模块详解...........................................................................................................................18 8.5.3系统模块详解...................................................................................................................................28
九、用户界面设计报告·································································································42 9.1界面设计规范..........................................................................................................................................42 9.2系统窗体汇总..........................................................................................................................................42 9.3主界面设计..............................................................................................................................................43 9.4子界面设计..............................................................................................................................................43 9.5界面资源设计..........................................................................................................................................44
十、软件测试分析报告·································································································44 10.1测试范围与主要内容............................................................................................................................44 10.2测试方法................................................................................................................................................44 10.3测试报告................................................................................................................................................44 10.4改进建议与措施....................................................................................................................................45
十一、软件使用说明书·································································································45 11.1软件概述.................................................................................................................................................45 11.2使用说明.................................................................................................................................................45 11.2.1系统登陆..........................................................................................................................................45 11.2.2系统退出..........................................................................................................................................46 11.2.3图书类别管理..................................................................................................................................46 11.2.4图书信息管理..................................................................................................................................48 11.2.5查询图书信息..................................................................................................................................48 11.2.6读者类别管理..................................................................................................................................49 11.2.7读者信息管理..................................................................................................................................49 11.2.8查询读者信息..................................................................................................................................50 11.2.9借书管理..........................................................................................................................................50 11.2.10还书管理........................................................................................................................................50 参考资料······················································································································51
一、序言
图书管理系统的设计与推出是多方面原因促成的,比如学校的图书管理,日常管理工作 1 都是人工操作,历史数据很难保存和利用。而其他的小型图书馆大多如此。针对这种状况,我计划开发一个面向小型图书馆的图书管理系统,实现对人员、物流的全面管理,以帮助这些图书馆早日实现书店管理信息化。
为了系统的顺利开发和维护,特编制如下技术文档:
想要全部 请加QQ:76536415 专业设计 毕业论文
第三篇:Vb设计实验报告
Vb设计实验报告
一、设计内容和目的
这次实验设计,我做的是学生信息管理系统,主要功能是提供学生信息保存和查询功能。
主要分为个窗口,其具体功能如下:
1、登录窗口:提供学生和管理员登录。
2、信息管理窗口:主操作窗口,可以进行重登陆、注销、退出、用户查询、管理员管理、系统信息的操作。包括一个下拉菜单和工具栏。
3、用户查询窗口:可以查询数据库中保存的学生信息。
4、管理员管理窗口:只有管理员可以进入,显示数据库中所有的学生信息,并且可以添加修改。
5、系统信息窗口:是系统的信息内容。
另外,根据网上的代码,我又制作了俄罗斯方块小游戏和画图工具。
二、设计过程:
1、实验构思:在系统设计之前,对实验内容和结构的构思占据了相当一部分时间。最终决定做一个“学生信息管理系统”,这样比较贴近自身情况,也有比较多的内容可以设计。
2、技术实现:在制作过程中主要使用了vb2005和数据库技术实现系统的设计、实现和运行。Photoshop等技术使程序的界面看起来更加友好。
3、运行调试:在系统制作中的运行调试过程中,出现了很多问题,比如各窗口之间的调用和访问,如何退出,控件的背景设置、字体颜色设置等,都需要经过一遍遍的调试发现、解决。
4、系统打包:在打包的时候,我按照老师给的方法一步步设置,可是由于粗心等原因,总是达不到满意的效果,直到第三次才真正成功。
三、系统结构:
如一所述,系统分为5个模块,各个模块之间可以自由访问。
四、实验结果: 该系统能够提供学生和管理员两种类型的登录,可以实现学生信息的查询、管理员对信息的修改,等。
五、设计心得:
在设计过程中,遇到了许多困难,比如:数据库无法连接、窗口无法正常访问、控件背景与窗体背景不协调等。后来通过查看课本和访问网络将这些问题解决了。
在这个过程中,我深深体会到大作业的用意:将所学理论知识用于实践。正是因为这样,许多理论上的知识才能真正得到理解。处理问题的过程,也就是学习的过程。背课本何其简单,真正的能力却是将课本运用到实践中去!
第四篇:vb图书管理系统源代码
Borbook:
Public sqltxt As String Public rno As String
'保存读者借书证号 Public bno As String
'保存读者图书编号 Public xm As String
'保存读者姓名 Public dw As String
'保存读者单位 Public rs As ADODB.Recordset
Private Sub Comm1_Click()
rno = Trim(Text1(0).Text)
If rno = “" Then
MsgBox ”借书证号不能为空,请输入“, vbOKOnly, ”信息提示“
Comm2.Enabled = False
Else
sqltxt = ”select * from reader where 借书证号='“ + rno + ”'“
Set rs = exesql(sqltxt)
If rs.RecordCount = 0 Then
MsgBox ”该读者未登记,不能借书“, vbOKOnly, ”信息提示“
Comm2.Enabled = False
Else
Text2(0).Text = rs.Fields(”姓名“)
Text2(1).Text = str(rs.Fields(”借书总数“))
Text2(2).Text = str(rs.Fields(”借书总数“)rs.Fields(”已借书数“))
End If
End If
End If End Sub
Private Sub retCom_Click()
Unload Me End Sub
Private Sub Form_Load()
Comm2.Enabled = False End Sub
Edbook:
Private Sub DataGrid1_Click()
End Sub
Private Sub Form_Load()
'说明:为什么使用recs,而不直接使用adodc1.recordset.recordcount?在调用edbook1窗体添加一个记录(确定)后,再
'返回到本表单,若不在Form_Activate()事件过程中调用adodc1.refresh进行刷新,adodc1.recordset.recordcount值
'仍未增1,这样调用encomm过程时出错;若在Form_Activate()事件过程中调用adodc1.refresh进行刷新,'adodc1.recordset.recordcount值增1了,调用encomm过程时也正确,但返回本窗体时,当前行总是第一行,显然也不行,'因为用户在添加或修改后希望在datagrid1中显示当前操作的那条记录.recs = Adodc1.Recordset.RecordCount End Sub
Private Sub Form_Activate()
DataGrid1.SetFocus
Call encomm End Sub
Private Sub Comm1_Click()
flag = 1
edbook1.Show vbModal End Sub
Private Sub Comm2_Click()
flag = 2
edbook1.Show vbModal End Sub
Private Sub Comm3_Click()
If MsgBox(”真的要删除[“ + Trim(Adodc1.Recordset.Fields(”书名“))+ ”]吗?“, vbYesNo, ”信息提示“)= vbYes Then
Adodc1.Recordset.Delete
recs = recs1
Call encomm
End If End Sub
Private Sub Comm4_Click()
Unload Me End Sub
Private Sub encomm()
If recs = 0 Then
Comm2.Enabled = False
Comm3.Enabled = False
Else
Comm2.Enabled = True
Comm3.Enabled = True
End If End Sub
Edlev1:
Dim cond As String
Private Sub Form_Load()
If flag = 2 Then
Text1(0).Text = edlev.Adodc1.Recordset.Fields(”级别“)
Text1(1).Text = edlev.Adodc1.Recordset.Fields(”过期罚款“)
Text1(2).Text = edlev.Adodc1.Recordset.Fields(”借书总数“)
Text1(3).Text = edlev.Adodc1.Recordset.Fields(”借书天数“)
End If End Sub
Private Sub Comm1_Click()
If Trim(Text1(0).Text)= ”“ Or Trim(Text1(1).Text)= ”“ Or Trim(Text1(2).Text)= ”“ Or _
Trim(Text1(3).Text)= ”“ Then
MsgBox ”数据项不全,请重新设置“, vbOKOnly, ”信息提示“
Text1(0).SetFocus
Exit Sub
End If
If flag = 1 Then '添加操作
If edlev.Adodc1.Recordset.RecordCount > 0 Then '原记录个数大于0
cond = ”级别='“ + Trim(Text1(0).Text)+ ”'“
edlev.Adodc1.Recordset.MoveFirst
'每次从头开始查找
edlev.Adodc1.Recordset.Find(cond)
If Not edlev.Adodc1.Recordset.EOF()Then
MsgBox ”存在完全相同的记录“, vbOKOnly, ”信息提示“
Text1(0).SetFocus
Exit Sub
End If
End If
edlev.Adodc1.Recordset.AddNew
edlev.Adodc1.Recordset.Fields(”级别“)= Trim(Text1(0).Text)
edlev.Adodc1.Recordset.Fields(”过期罚款“)= Val(Trim(Text1(1).Text))
edlev.Adodc1.Recordset.Fields(”借书总数“)= Val(Trim(Text1(2).Text))
edlev.Adodc1.Recordset.Fields(”借书天数“)= Val(Trim(Text1(3).Text))
edlev.Adodc1.Recordset.Update
recs = recs + 1
Else
'修改操作
n = edlev.Adodc1.Recordset.AbsolutePosition
cond = ”级别='“ + Trim(Text1(0).Text)+ ”'“
edlev.Adodc1.Recordset.MoveFirst '每次从头开始查找
edlev.Adodc1.Recordset.Find(cond)
If Not edlev.Adodc1.Recordset.EOF()And edlev.Adodc1.Recordset.AbsolutePosition <> n Then
MsgBox ”存在完全相同的记录“, vbOKOnly, ”信息提示“
edlev.Adodc1.Recordset.MoveFirst
'这两个语句恢复原记录位置
edlev.Adodc1.Recordset.Move(n1)
edlev.Adodc1.Recordset.Fields(”级别“)= Trim(Text1(0).Text)
edlev.Adodc1.Recordset.Fields(”过期罚款“)= Val(Trim(Text1(1).Text))
edlev.Adodc1.Recordset.Fields(”借书总数“)= Val(Trim(Text1(2).Text))
edlev.Adodc1.Recordset.Fields(”借书天数“)= Val(Trim(Text1(3).Text))
edlev.Adodc1.Recordset.Update
End If
Unload Me End Sub
Private Sub Comm2_Click()
Unload Me End Sub
Edreader:
Private Sub DataGrid1_Click()
End Sub
Private Sub Form_Load()
recs = Adodc1.Recordset.RecordCount End Sub
Private Sub Form_Activate()
DataGrid1.SetFocus
Call encomm End Sub
Private Sub Comm1_Click()
flag = 1
edreader1.Show vbModal End Sub
Private Sub Comm2_Click()
flag = 2
edreader1.Show vbModal End Sub
Private Sub Comm3_Click()
If MsgBox(”真的要删除[“ + Trim(Adodc1.Recordset.Fields(”姓名“))+ ”]吗?“, vbYesNo, ”信息提示“)= vbYes Then
Adodc1.Recordset.Delete
recs = recs1
Call encomm
End If End Sub Private Sub Comm4_Click()
Adodc1.Recordset.UpdateBatch
Adodc1.Recordset.Close
Unload Me End Sub Private Sub encomm()
If recs = 0 Then
Comm2.Enabled = False
Comm3.Enabled = False
Else
Comm2.Enabled = True
Comm3.Enabled = True
End If End Sub
Edrec1:
Dim cond As String
Private Sub Form_Load()
Label1.Caption = cap
If flag = 1 Then
Text1.Text = ”“
Else
Text1.Text = edrec.Adodc1.Recordset.Fields(”fn“)
End If End Sub
Private Sub Comm1_Click()
If Trim(Text1.Text)= ”“ Then
MsgBox ”数据项不能为空,请重新设置“, vbOKOnly, ”信息提示“
Text1.SetFocus
Exit Sub
End If
If flag = 1 Then '添加操作
If edrec.Adodc1.Recordset.RecordCount > 0 Then '原记录个数大于0
cond = ”fn='“ + Trim(Text1.Text)+ ”'“
edrec.Adodc1.Recordset.MoveFirst
'每次从头开始查找
edrec.Adodc1.Recordset.Find(cond)
If Not edrec.Adodc1.Recordset.EOF()Then
MsgBox ”存在完全相同的记录“, vbOKOnly, ”信息提示“
Text1.SetFocus
Exit Sub
End If
End If
edrec.Adodc1.Recordset.AddNew
edrec.Adodc1.Recordset.Fields(”fn“)= Trim(Text1.Text)
edrec.Adodc1.Recordset.Update
recs = recs + 1
Else
'修改操作
n = edrec.Adodc1.Recordset.AbsolutePosition
cond = ”fn='“ + Trim(Text1.Text)+ ”'“
edrec.Adodc1.Recordset.MoveFirst '每次从头开始查找
edrec.Adodc1.Recordset.Find(cond)
If Not edrec.Adodc1.Recordset.EOF()And edrec.Adodc1.Recordset.AbsolutePosition <> n Then
MsgBox ”存在完全相同的记录“, vbOKOnly, ”信息提示“
edrec.Adodc1.Recordset.MoveFirst
'这两个语句恢复原记录位置
edrec.Adodc1.Recordset.Move(n1)
edrec.Adodc1.Recordset.Fields(”fn“)= Trim(Text1.Text)
edrec.Adodc1.Recordset.Update
End If
Unload Me End Sub
Private Sub Comm2_Click()
Unload Me End Sub
Menu:
Private Sub MDIForm_Load()
If Not userlevel = ”系统管理员“ Then
menu21.Enabled = False
menu31.Enabled = False
menu41.Enabled = False
menu42.Enabled = False
End If End Sub
Private Sub menu11_Click()
borbook.Show vbModal End Sub
Private Sub menu12_Click()
retbook.Show vbModal End Sub
Private Sub menu13_Click()
End End Sub
Private Sub menu21_Click()
edbook.Show vbModal End Sub
Private Sub menu22_Click()
qubook.Show vbModal End Sub
Private Sub menu31_Click()
edreader.Show vbModal End Sub
Private Sub menu32_Click()
qureader.Show vbModal End Sub
Private Sub menu41_Click()
setuser.Show vbModal End Sub
Private Sub menu42_Click()
If MsgBox(”本功能要清除系统中所有数据,真的初始化吗?“, vbYesNo, ”确认初始化操作“)
= vbYes Then
Call deldata(”book“)Call deldata(”reader“)Call deldata(”borrow“)Call deldata(”rlevel“)
Call deldata(”depart“)
Call deldata(”press“)
Call deldata(”oper“)
MsgBox ”系统初始化完毕,下次只能以1234/1234(用户名/口令)进入本系统“, vbOKOnly, ”信息提示“
End If End Sub
Pass:
Public n As Integer
Private Sub Command1_Click()
Dim mrc As ADODB.Recordset
txtsql = ”select * from oper where 用户名='“ & _
Trim$(Text1(0).Text)& ”'“ & ” And 口令 = '“ & Trim$(Text1(1).Text)+ ”'“
Set mrc = exesql(txtsql)
If mrc.RecordCount = 0 Then '未找到用户记录
n = n + 1
If n < 3 Then
MsgBox ”没有这个用户,继续登录“, vbOKOnly + vbExclamation, ”信息提示“
Text1(0).Text = ”“
Text1(1).Text = ”“
Text1(0).SetFocus
Else
MsgBox ”已登录失败三次,退出系统“, vbOKOnly + vbExclamation, ”信息提示“
mrc.Close
Unload Me
End If
Else
'找到合法用户记录
userlevel = Trim(mrc.Fields(”级别“))
mrc.Close
Unload Me
menu.Show '调用menu窗体
End If End Sub
Private Sub Command2_Click()
Unload Me End Sub
Private Sub Form_Load()
n = 0
'n保存登录的次数 End Sub
Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)
Call endata(KeyAscii)End Sub
Qubook:
Private Sub Comm1_Click()
Dim sqltxt As String
If Adodc1.Recordset.Fields(”借否“)= ”借“ Then
no = Trim(Adodc1.Recordset.Fields(”图书编号“))
sqltxt = ”select * from borrow where 图书编号='“ + no + ”'“
Set rs = exesql(sqltxt)
If rs.RecordCount = 0 Then
MsgBox ”该图书没有借书记录“, vbOKOnly, ”信息提示“
Else
MsgBox ”图书编号:“ + no + Chr(10)+ Chr(13)+ _
”书
名:“ + Trim(rs.Fields(”书名“))+ Chr(10)+ Chr(13)+ _
”借 书 人:“ + Trim(rs.Fields(”姓名“))+ Chr(10)+ Chr(13)+ _
”单
位:“ + Trim(rs.Fields(”单位“))+ Chr(10)+ Chr(13)+ _
”借书日期:“ + Format(rs.Fields(”借书日期“), ”yyyy.mm.dd“), vbOKOnly, ”查找结果“
End If
rs.Close
Else
MsgBox ”该书没有外借,不能显示借书人“, vbOKOnly, ”信息提示“
End If End Sub
Private Sub Comm2_Click()
Unload Me End Sub
Private Sub Form_Activate()
Adodc1.Refresh
DataGrid1.Refresh
DataGrid1.SetFocus
Call encomm End Sub
Private Sub selcmd1_Click()'设置条件确定
Dim str As String
str = ”“
'条件表达式
If Trim(Text1(0).Text)<> ”“ Then
If str = ”“ Then
str = ”图书编号='“ + Trim(Text1(0).Text)+ ”'“
Else
str = str + ” and 图书编号='“ + Trim(Text1(0).Text)+ ”'“
End If
End If
If Trim(Text1(1).Text)<> ”“ Then
If str = ”“ Then
str = ”书名='“ + Trim(Text1(1).Text)+ ”'“
Else
str = str + ” and 书名='“ + Trim(Text1(1).Text)+ ”'“
End If
End If
If Trim(Text1(2).Text)<> ”“ Then
If str = ”“ Then
str = ”作者='“ + Trim(Text1(2).Text)+ ”'“
Else
str = str + ” and 作者='“ + Trim(Text1(2).Text)+ ”'“
End If
End If
If Trim(Text1(3).Text)<> ”“ Then
If str = ”“ Then
str = ”出版社='“ + Trim(Text1(3).Text)+ ”'“
Else
str = str + ” and 出版社='“ + Trim(Text1(3).Text)+ ”'“
End If
End If
If Trim(Text1(4).Text)<> ”“ Then
If str = ”“ Then
str = ”借否='“ + Trim(Text1(4).Text)+ ”'“
Else
str = str + ” and 借否='“ + Trim(Text1(4).Text)+ ”'“
End If
End If
If Trim(Text1(5).Text)<> ”“ Then
If str = ”“ Then
str = ”定价=“ + Trim(Text1(5).Text)
Else
str = str + ” and 定价=“ + Trim(Text1(5).Text)
End If
End If
If str <> ”“ Then
Adodc1.RecordSource = ”select * from book where “ + str
Adodc1.Refresh
Else
Adodc1.RecordSource = ”select * from book“
Adodc1.Refresh
End If
If Adodc1.Recordset.RecordCount = 0 Then
MsgBox ”没有任何满足条件的记录“, vbOKOnly, ”信息提示“
End If
Call encomm End Sub
Private Sub selcmd2_Click()'设置条件重置
Text1(0).Text = ”“
Text1(1).Text = ”“
Text1(2).Text = ”“
Text1(3).Text = ”“
Text1(4).Text = ”“
Text1(5).Text = ”“ End Sub
Private Sub encomm()'自定义子过程:判断Adodc1中是否存在记录
If Adodc1.Recordset.RecordCount = 0 Then
Comm1.Enabled = False
Else
Comm1.Enabled = True
End If End Sub
Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)
Call endata(KeyAscii)End Sub
Qureader:
Private Sub Comm1_Click()
Dim strn As String
Dim sqltxt As String
no = Trim(Adodc1.Recordset.Fields(”借书证号“))
sqltxt = ”select * from borrow where 借书证号='“ + no + ”'“
Set rs = exesql(sqltxt)
If rs.RecordCount = 0 Then
MsgBox ”该读者没有借任何图书“, vbOKOnly, ”信息提示“
Else
rs.MoveFirst
strn = ”书
名(借书日期)“ + Chr(10)+ Chr(13)
Do While Not rs.EOF()
strn = strn & Trim(rs.Fields(”书名“))& ”(“ & Format(rs.Fields(”借书日期“), ”yyyy.mm.dd“)& ”)“ + Chr(10)+ Chr(13)
rs.MoveNext
Loop
MsgBox strn, vbOKOnly, ”列所借图书清单“
rs.Close
End If End Sub
Private Sub Comm2_Click()
Unload Me End Sub
Private Sub Form_Activate()
Adodc1.Refresh
DataGrid1.Refresh
DataGrid1.SetFocus
Call encomm End Sub
Private Sub selcmd1_Click()'设置条件确定
Dim str As String
str = ”“
'条件表达式
If Trim(Text1(0).Text)<> ”“ Then
If str = ”“ Then
str = ”借书证号='“ + Trim(Text1(0).Text)+ ”'“
Else
str = str + ” and 借书证号='“ + Trim(Text1(0).Text)+ ”'“
End If
End If
If Trim(Text1(1).Text)<> ”“ Then
If str = ”“ Then
str = ”姓名='“ + Trim(Text1(1).Text)+ ”'“
Else
str = str + ” and 姓名='“ + Trim(Text1(1).Text)+ ”'“
End If
End If
If Trim(Text1(2).Text)<> ”“ Then
If str = ”“ Then
str = ”单位='“ + Trim(Text1(2).Text)+ ”'“
Else
str = str + ” and 单位='“ + Trim(Text1(2).Text)+ ”'“
End If
End If
If Trim(Text1(3).Text)<> ”“ Then
If str = ”“ Then
str = ”级别='“ + Trim(Text1(3).Text)+ ”'“
Else
str = str + ” and 级别='“ + Trim(Text1(3).Text)+ ”'“
End If
End If
If Trim(Text1(4).Text)<> ”“ Then
If str = ”“ Then
str = ”性别='“ + Trim(Text1(4).Text)+ ”'“
Else
str = str + ” and 性别='“ + Trim(Text1(4).Text)+ ”'“
End If
End If
If str <> ”“ Then
Adodc1.RecordSource = ”select * from reader where “ + str
Adodc1.Refresh
Else
Adodc1.RecordSource = ”select * from reader“
Adodc1.Refresh
End If
If Adodc1.Recordset.RecordCount = 0 Then
MsgBox ”没有任何满足条件的记录“, vbOKOnly, ”信息提示“
End If
Call encomm End Sub
Private Sub selcmd2_Click()'设置条件重置
Text1(0).Text = ”“
Text1(1).Text = ”“
Text1(2).Text = ”“
Text1(3).Text = ”“
Text1(4).Text = ”“ End Sub
Private Sub encomm()'自定义子过程:判断Adodc1中是否存在记录
If Adodc1.Recordset.RecordCount = 0 Then
Comm1.Enabled = False
Else
Comm1.Enabled = True
End If End Sub
Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)
Call endata(KeyAscii)End Sub
Retbook:
Public rno As String Public bno As String
Private Sub Comm1_Click()
bno = Trim(Text1.Text)
If bno <> ”“ Then
Dim sqltxt As String
sqltxt = ”select * from borrow where 图书编号='“ + bno + ”'“
Set brs = exesql(sqltxt)
If brs.RecordCount = 0 Then
MsgBox ”该书不是从本图书馆所借的,不能归还!“, vbOKOnly, ”信息提示“
Else
If Trim(brs.Fields(”借书证号“))<> rno Then
If rno <> ”“ Then
'另一读者还书,自动列出上一个还书人的罚款单
dstr = ”罚款单“ + Chr(10)+ Chr(13)
dstr = dstr & ”姓名:“ & Trim(Text2(1).Text)+ ”(“ + rno + ”)罚款总额:“ & str(Text2(4).Text)& ”元“
MsgBox dstr, vbOKOnly, ”列罚款单“
End If
rno = Trim(brs.Fields(”借书证号“))
sqltxt = ”select * from book where 图书编号='“ + bno + ”'“ '处理图书记录
Set bs = exesql(sqltxt)
bs.Fields(”借否“)= ”否“
bs.Update
sqltxt = ”select * from reader where 借书证号='“ + rno + ”'“ '处理读者记录
Set rs = exesql(sqltxt)
rs.Fields(”已借书数“)= rs.Fields(”已借书数“)rs.Fields(”已借书数“)
If(Datebrs.Fields(”借书日期“)1
rs.Update
If(Datebrs.Fields(”借书日期“)1
Call encomm
End If End Sub
Private Sub Comm4_Click()
Unload Me End Sub
Private Sub encomm()
If recs = 0 Then
Comm2.Enabled = False
Comm3.Enabled = False
Else
Comm2.Enabled = True
Comm3.Enabled = True
End If End Sub
Setuser1:
Dim cond As String
Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys ”{TAB}“
End If End Sub
Private Sub Form_Load()
If flag = 2 Then
Text1(0).Text = setuser.Adodc1.Recordset.Fields(”用户名“)
Text1(1).Text = setuser.Adodc1.Recordset.Fields(”口令“)
Combo1.Text = setuser.Adodc1.Recordset.Fields(”级别“)
End If End Sub
Private Sub Comm1_Click()
If Trim(Text1(0).Text)= ”“ Or Trim(Text1(1).Text)= ”“ Or Trim(Combo1.Text)= ”“ Then
MsgBox ”数据项不全,请重新设置“, vbOKOnly, ”信息提示“
Text1(0).SetFocus
Exit Sub
End If
If flag = 1 Then '添加操作
If setuser.Adodc1.Recordset.RecordCount > 0 Then '原记录个数大于0
cond = ”级别='“ + Trim(Text1(0).Text)+ ”'“
setuser.Adodc1.Recordset.MoveFirst
'每次从头开始查找
setuser.Adodc1.Recordset.Find(cond)
If Not setuser.Adodc1.Recordset.EOF()Then
MsgBox ”存在完全相同的记录“, vbOKOnly, ”信息提示“
Text1(0).SetFocus
Exit Sub
End If
End If
setuser.Adodc1.Recordset.AddNew
setuser.Adodc1.Recordset.Fields(”用户名“)= Trim(Text1(0).Text)
setuser.Adodc1.Recordset.Fields(”口令“)= Val(Trim(Text1(1).Text))
setuser.Adodc1.Recordset.Fields(”级别“)= Trim(Combo1.Text)
setuser.Adodc1.Recordset.Update
recs = recs + 1
Else
'修改操作
n = setuser.Adodc1.Recordset.AbsolutePosition
cond = ”级别='“ + Trim(Text1(0).Text)+ ”'“
setuser.Adodc1.Recordset.MoveFirst '每次从头开始查找
setuser.Adodc1.Recordset.Find(cond)
If Not setuser.Adodc1.Recordset.EOF()And setuser.Adodc1.Recordset.AbsolutePosition <> n Then
MsgBox ”存在完全相同的记录“, vbOKOnly, ”信息提示“
setuser.Adodc1.Recordset.MoveFirst
'这两个语句恢复原记录位置
setuser.Adodc1.Recordset.Move(n1)
setuser.Adodc1.Recordset.Fields(”用户名“)= Trim(Text1(0).Text)
setuser.Adodc1.Recordset.Fields(”口令“)= Val(Trim(Text1(1).Text))
setuser.Adodc1.Recordset.Fields(”级别“)= Trim(Combo1.Text)
setuser.Adodc1.Recordset.Update
End If
Unload Me End Sub
Private Sub Comm2_Click()
Unload Me End Sub
Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)
Call endata(KeyAscii)End Sub
模块:
Public userlevel As String '保存用户级别
Public flag As Integer
'用作记录操作标记
Public tna As String
'保存表名:用于调用edrec1窗体 Public cap As String
'保存标题名:用于调用edrec1窗体 Public recs As Integer
'保存记录集中记录个数
Sub main()
pass.Show vbModal End Sub
Public Function exesql(ByVal sql As String)As ADODB.Recordset
sql = Trim$(sql)
Set conn = New ADODB.Connection
Set rst = New ADODB.Recordset
conn.ConnectionString = ”DSN=Library;UID=sa;PWD=;“
conn.Open
Set rst.ActiveConnection = conn
rst.LockType = adLockOptimistic
rst.CursorType = adOpenKeyset
rst.Open sql
Set exesql = rst
Set rst = Nothing
Set conn = Nothing End Function
Public Sub deldata(ByVal tn As String)删除指定表中所有记录,对于oper表添加一个系统用户
Dim sql As String
sql = ”delete “ & Trim$(tn)
Set conn = New ADODB.Connection
conn.ConnectionString = ”DSN=Library;UID=sa;PWD=;“
conn.Open
conn.Execute sql
If Trim(tn)= ”oper“ Then
sql = ”insert oper values('1234','1234','系统管理员')“
conn.Execute sql
End If
conn.Close End Sub Public Sub endata(Keyasc As Integer)
If Keyasc = 13 Then
SendKeys ”{TAB}" '将回车键转换成Tab键
End If End Sub
第五篇:VB学生管理系统主要代码
主要代码如下:
Dim cn As New ADODB.Connection Dim rst0 As New ADODB.Recordset Dim rst1 As New ADODB.Recordset Dim rst2 As New ADODB.Recordset Dim rst3 As New ADODB.Recordset
Private Sub Cmd0add_Click()rst0.AddNew Cmd0add.Enabled = False Cmd0save.Enabled = True Cmd0del.Enabled = False Cmd0Exit.Enabled = True End Sub
Private Sub Cmd0del_Click()Cmd0add.Enabled = True Cmd0save.Enabled = True Cmd0del.Enabled = False Cmd0Exit.Enabled = True x = MsgBox(“确定要删除吗”, vbYesNoCancel + vbQuestion, “确认”)If x = vbYes Then rst0.Delete End Sub
Private Sub Cmd0Exit_Click()cn.close Unload Me End Sub
Private Sub Cmd0save_Click()Cmd0add.Enabled = True Cmd0save.Enabled = False Cmd0del.Enabled = True Cmd0Exit.Enabled = True rst0.Update rst0.Sort = “应聘人编号” End Sub
Private Sub Cmd1Exit_Click()cn.close Unload Me End Sub Private Sub Cmd1Import_Click()rst0.MoveFirst For i = 1 To rst0.RecordCount
rst1.AddNew
rst1.Fields(“应聘人编号”)= rst0.Fields(“应聘人编号”)
rst0.MoveNext
rst1.MoveNext Next i '
Cmd1Import.Enabled = False
' Cmd1OK.Enabled = True
' Cmd1Exit.Enabled = True
End Sub
Private Sub Cmd1OK_Click()rst1.Fields(“综合评分”)=(Val(rst1.Fields(“计算机能力”))+ rst1.Fields(“业务能力”))* 0.5 If rst1.Fields(“综合评分”)>= 6 Then
rst1.Fields(“初选状态”)= “通过”
Else
rst1.Fields(“初选状态”)= “未通过”
End If
rst1.Update
rst1.Sort = “应聘人编号” End Sub
Private Sub Cmd2Exit_Click()cn.close Unload Me End Sub
Private Sub Cmd2Import_Click()rst1.close rst1.open “select * from 初选表 where 初选状态='通过'”, cn rst1.MoveFirst For i = 1 To rst1.RecordCount
rst2.AddNew
rst2.Fields(“应聘人编号”)= rst1.Fields(“应聘人编号”)
rst2.Fields(“初选评分”)= rst1.Fields(“综合评分”)
rst1.MoveNext Next i rst2.Update Cmd2Import.Enabled = False End Sub
Private Sub Cmd2OK_Click()rst2.Fields(“综合评分”)=(rst2.Fields(“初选评分”)+ rst2.Fields(“外表形象”)+ rst2.Fields(“领悟反应能力”))/ 3 If rst2.Fields(“综合评分”)>= 6 Then
rst2.Fields(“录用情况”)= “通过” Else
rst2.Fields(“录用情况”)= “未通过” End If rst2.Update rst2.Sort = “应聘人编号” rst2.MoveLast End Sub
Private Sub Cmd3Exit_Click()cn.close Unload Me End Sub
Private Sub Cmd3Import_Click()rst2.close rst2.open “selsct * from 面试表 where 录用情况= '通过'” rst2.MoveFirst For i = 1 To rst2.RecordCount
rst3.AddNew
rst3.Fields(“应聘人编号”)= rst2.Fields(“应聘人编号”)
rst3.Fields(“面试分”)= rst2.Fields(“综合评分”)
rst3.Fields(“开始录用时间”)= Date
rst2.MoveNext Next i Cmd3Import.Enabled = False End Sub
Private Sub Cmd3OK_Click()rst3.Fields(“综合考核分”)=(rst3.Fields(“面试分”)+ rst3.Fields(“笔试分”))/ 2 If rst3.Fields(“综合考核分”)>= 6 Then
rst3.Fields(“是否录用”)= “是”
Else
rst3.Fields(“是否录用”)= “否”
End If
rst3.Update
rst3.Sort = “应聘人编号”
rst3.MoveLast End Sub
Private Sub cxtg_Click()frmDataEnv.Show 1 End Sub
Private Sub DataGrid1_Click()
End Sub
Private Sub Form_Load()cn.ConnectionString = “DSN=xsgl;name=sa;pass=sa” cn.open cn.CursorLocation = adUseClient rst0.LockType = adLockPessimistic rst1.LockType = adLockPessimistic rst2.LockType = adLockPessimistic rst3.LockType = adLockPessimistic
rst0.open “select * from 登记表”, cn Set DataGrid1.DataSource = rst0
rst1.open “select * from 初选表”, cn Set DataGrid2.DataSource = rst1 If rst1.RecordCount <> 0 Then Cmd1Import.Enabled = False End If
rst2.open “select * from 面试表”, cn Set DataGrid3.DataSource = rst2 If rst2.RecordCount <> 0 Then Cmd2Import.Enabled = False End If
rst3.open “select * from 录用表”, cn Set DataGrid4.DataSource = rst3 If rst3.RecordCount <> 0 Then Cmd3Import.Enabled = False End If End Sub 学生基本信息浏览窗口
图5.6学生基本信息浏览
主要代码如下:
string sql = string.Format(“select P_id from Tb_popedom order by P_id desc”);
if(GetConn.conn.State == ConnectionState.Closed)
{
GetConn.conn.Open();
}
SqlCommand c = new SqlCommand(sql, GetConn.conn);
SqlDataReader reader = c.ExecuteReader();
if(reader.Read())
{
string id = reader[“P_id”].ToString();
txt_id.Text =(int.Parse(id.Substring(1,(id.Length-1)))+ 1)+ “";
}
reader.Close();
GetConn.conn.Close();
////加载一级菜单
sql = ”select * from Tb_function where F_level='1'“;
if(GetConn.conn.State == ConnectionState.Closed)
{
GetConn.conn.Open();
}
sda = new SqlDataAdapter(sql, GetConn.conn);
sda.Fill(ds, ”fun");
……
}