设计题目 网吧管理系统 设计技术 1. 题目要达到的目标:完成系统的登陆、数据的插入删除修改统计等基本操作。 参数 2. 数据库:采用关系数据库ACCESS2003/SQLSERVER2000。 3. 所使用的语言、工具:VB6.0+ACCESS2003+WINDOWSXP。 4. 所采用的技术、系统结构:ADO数据库联接技术,系统结构为C/S结构。 设 计 要 求 1. 上机前预先把所有的源程序编写好。 2. 上机时不得迟到,不得缺席,爱护设备,认真调试程序。 3. 仔细查阅相关资料,认真完成思考题。 4. 按要求书写设计任务书,并按要求按版打印,不得雷同。 一周 周一听取教师布置设计的任务及要求。 周二学生查阅相关资料,进行数据库设计。 周三至周五:详细设计与界面设计。 周一至周四程序设计与上机,调试源程序。 周五书写课程设计任务书。 工作量 工 作 计 划 《数据库系统概论》 参考资料 《数据库系统概论实验指导书》自编 《数据库系统概论课程设计大纲》等自编 该生在数据库系统概论课程设计期间:上机时不迟到,不缺席,爱护设备,认真调试程序。仔细查阅相关资料,认真完成作业。 听从指导教师安排。在设计与实现过程中,能使设计的系统达到预期设计要求,功能合理,流程清楚,语句条理通顺。 指导教师按要求书写设计任务书,其论文格式规范,图表清晰合理,资料详实。系统界面友好,评语 程序运行基本正常,功能完备。 说明:此表一式四份,学生、指导教师、教研室、系部各一份。可加附页。
2008年 7 月 4
辽 宁 工 业 大 学 课 程 设 计 说 明 ( 计 算 )书
目录
第一章 概述 ............................................................................................ 2 第二章 问题定义 .................................................................................... 2 第三章 需求分析 .................................................................................... 4 第四章 数据库设计 ................................................................................ 7 第五章 界面设计 .................................................................................... 9 第六章 代码 .......................................................................................... 11
共25 页 第 1 页
辽 宁 工 业 大 学 课 程 设 计 说 明 ( 计 算 )书
第一章 概述
随着上个世纪九十年代计算机网络的高速发展,人类进入到了网络化、信息化的时代。而网络的发展带动了一种新兴产业——网吧行业。从上世纪九十年代至今,网吧经历了前所未有的发展。从小规模到大规模,从单一经营到连锁经营,从简单提供上网服务演变到休息、娱乐场所。这就带来了新的问题——网吧管理。
目前,网吧的人工管理已经不能适应网吧的高速发展,成为阻碍网吧发展的桎梏。因此开发一套完善的网吧管理系统成为网吧发展的首要任务。
本系统主要负责服务器子系统的设计。采用功能强大的Visual Basic6.0作为开发工具,Microsoft Access作为数据库平台。
本系统采用C/S结构。它将一个应用系统分成两大部分,由多台计算机分别执行,协同完成整个系统的应用,从而达到系统中软、硬件资源最大限度的利用。因此,对于一个相对专用、独立的系统,它是—个较好的系统建立方法。因此,本设计采用这一模式。
本系统从操作简便、界面友好、灵活、实用、安全的要求出发,实现较为简单。本系统设计功能较为齐全,适合于中小型网吧的管理。
共25 页 第 2 页
辽 宁 工 业 大 学 课 程 设 计 说 明 ( 计 算 )书
第二章 问题定义
网吧管理人员:系统的录入人员,主要指管理各种档案的工作人员,需要通过密码才能进入。他们拥有对系统数据的录入、修改、查询、删除等操作权限。但不可以更改系统密码。
上机人员:权限最低的登入人员,当上网时间到了之后就会被提示。
共25 页 第 3 页
辽 宁 工 业 大 学 课 程 设 计 说 明 ( 计 算 )书
第三章 需求分析
一、主要功能: 完成网吧管理人员对上机人员的调整,对机器的分配,以及纪录用户的上机时间,并对整个网吧的系统进行管理。 因此,本系统应该主要完成和实现如下功能: 初始化系统数据;
录入登陆人员的基本信息数据; 上机时间,下机时间的基本设定; 查询机器的剩余时间; 计算上机的费用;
人员信息: 在该项内容中将包括的数据库项有用户名,用户密码,密码确认,开户时间,开户金额,开户总机时,剩余时间,上机次数,备注。
会员信息:用户名,用户密码,密码确认,开户时间,开户金额,折扣,总时间,上机次数,备注。 机器编号:ID,IP。
共25 页 第 4 页
辽 宁 工 业 大 学 课 程 设 计 说 明 ( 计 算 )书
二、数据流图(DFD):
三、数据字典(DD): ClientIP=ID+IP
History=ID+用户名+机器号+开始时间+结束时间+应付费
Member=用户名+用户密码+密码确认+开户时间+开户金额+折扣+总时间+上机次数+备注
四、程序流程图:
限时 不限时 系统主界面 时间类型 时间设置 调用系统菜单 系统设置 退出系统
共25 页 第 5 页
辽 宁 工 业 大 学 课 程 设 计 说 明 ( 计 算 )书
五、功能结构图:
网吧管理系统 登陆人员信息 上机时间设定 费用汇总 下机时间查询 退出 网吧管理系统模块
时间的基本设定 上机时间 总时间 下机时间 时间设定模块
共25 页 第 6 页
辽 宁 工 业 大 学 课 程 设 计 说 明 ( 计 算 )书
第四章 数据库设计
二、逻辑设计:
下面列出几个主要的数据库表设计:
4.1 ClientIP表: 序号 0 1
中文名 ID IP 字段名 3 10 类型 字符型 备注 主键 文本archar 序号 0 1 2 3 4 5
中文名 ID userID pcid starttime endtime pay 4.2history表: 字段名 类型 2 (10,2) 2 2 字符型 文本型 数字 日期时间 日期时间 货币 备注 主键 序号 0 1 2 3 4 5 6 7
中文名 userID Pwd ChkPwd DataTime Balance Discount Totaltime CountNum 4.3member表: 字段名 类型 10 10 10 2 2 2 2 文本符型 文本符型 文本类型 日期时间 数字 数字 数字 数字 备注 主键 共25 页 第 7 页
辽 宁 工 业 大 学 课 程 设 计 说 明 ( 计 算 )书
9 Memo 备注 序号 0 1 2 3 4 5 6 7 9 中文名 userID Pwd ChkPwd DataTime Balance Discount Totaltime CountNum Memo 4.3member1表: 字段名 类型 10 10 10 2 2 2 2
4.4online表: 字段名 类型 10 字符型 字符型archar 时间日期 字符型 文本符型 文本符型 文本类型 日期时间 数字 数字 数字 数字 备注 备注 主键 序号 0 1 2 3 中文名 ID ClientID LoginTime TimeOut 备注 主键 (10,2) 10 备注 主键 序号 0 1 2 3 4 5 6 7 中文名 ID Mstate Jstate stime Endtime Time Money Ltime 4.4online表: 字段名 类型 10 (是,否) 10 10 字符型 判断 文本 日期 日期 数字 货币 数字
共25 页 第 8 页
辽 宁 工 业 大 学 课 程 设 计 说 明 ( 计 算 )书
8 9 Userid uprice 文本 货币 三、物理设计
写索引是如何设计的:写索引是如何设计的:镞索引是行的物理顺序和索引的顺序是一致的。页级,低层等索引的各个级别上都包含实际的数据页。一个表只能是有一个镞索引。由于update,delete语句要求相对多一些的读操作,因此镞索引常常能加速这样的操作。在至少有一个索引的表中,你应该有一个镞索引
第五章 界面设计
一、主界面
单击主界面上的各个按钮,可以进入相应的界面中。
二、系统设置 对参数进行设置
共25 页 第 9 页
辽 宁 工 业 大 学 课 程 设 计 说 明 ( 计 算 )书
功能介绍,相关控件;
三、查询上机时间等信息
功能介绍,相关控件;
共25 页 第 10 页
辽 宁 工 业 大 学 课 程 设 计 说 明 ( 计 算 )书
第六章 代码与注释
一、窗体1代码
Option Explicit
Private Sub cmdexit_Click() Unload Me End Sub
Private Sub cmdcounter_Click() Dim cn As ADODB.Connection Dim i As Integer
Dim rst As ADODB.Recordset Dim strsql As String
Set cn = New Connection
Set rst = New ADODB.Recordset cn.Open concn 'Íù history ±íÖÐÌí¼Ó¼Ç¼
frmManager.Adodc1.Recordset!endtime = Now()
txtmoney.Text = frmManager.Adodc1.Recordset!Time * frmManager.Adodc1.Recordset!uprice '×¢Òâʱ¼ä×ֶεÄÌí¼Ó·½·¨£¬# strsql = \"insert into history (pcid,starttime,endtime,pay) values (\" & frmManager.Adodc1.Recordset!Mid & \& frmManager.Adodc1.Recordset!stime & \"#,#\" & frmManager.Adodc1.Recordset!endtime & \"#,\" & txtmoney.Text & \")\" Debug.Print strsql cn.Execute strsql ' Êշѳɹ¦£¬Êý¾Ý³õʼ»¯ With frmManager.Adodc1 .Recordset!mstate = 0 .Recordset![stime] = 0 .Recordset![jstate] = \"묒·Ñ\" .Recordset![Money] = 0 .Recordset![endtime] = 0 .Recordset![Time] = 0 .Recordset![lTime] = 0 .Recordset![userID] = \"\" On Error GoTo error_proc .Recordset.Save
End With
frmManager.Refresh 'ʹÊý¾Ýͬ²½ÏÔʾ MsgBox \"Êշѳɹ¦\"
共25 页 第 11 页
辽 宁 工 业 大 学 课 程 设 计 说 明 ( 计 算 )书
Unload Me Exit Sub
error_proc:
MsgBox Err.Description, vbCritical, \"ÖØÊÔ\" Unload Me End Sub
Private Sub cmdvipexit_Click() Unload Me End Sub
Private Sub cmdvipcounter_Click() Dim Gdiscount As Double Dim cn As ADODB.Connection Dim i As Integer
Dim rst As ADODB.Recordset Dim strsql As String Dim uprice As Double Set cn = New Connection
Set rst = New ADODB.Recordset cn.Open concn
frmManager.Adodc1.Recordset!endtime = Now()
Gdiscount = frmMember.datPrimaryRS.Recordset![DISCOUNT] '»áÔ±µÄÕË»§ÉϵĽð¶î
txtvipmoney.Text = frmManager.Adodc1.Recordset!Time * frmManager.Adodc1.Recordset![uprice] * Gdiscount
strsql = \"insert into history (pcid,starttime,endtime,pay,userid) values (\" & frmManager.Adodc1.Recordset![Mid] & \& frmManager.Adodc1.Recordset!stime & \"#,#\" & frmManager.Adodc1.Recordset!endtime & \"#,\" & txtvipmoney.Text & \& frmManager.Adodc1.Recordset!userID & \"\"\")\" cn.Execute strsql
'¸üÐÂMEMBER±í
strsql = \"update member set countNum=countNum+1,TOTALTIME=TOTALTIME+\" & frmManager.Adodc1.Recordset!Time & \" , balance=balance-\" & CSng(txtvipmoney.Text) & \" WHERE userid=\"\"\" & frmManager.Adodc1.Recordset![userID] & \"\"\"\" cn.Execute strsql '²é³öÓû§Óà¶î
strsql = \"select balance from member where userid=\"\"\" & frmManager.Adodc1.Recordset![userID] & \"\"\"\"
rst.Open strsql, cn, adOpenDynamic, adLockOptimistic If rst.BOF And rst.EOF Then MsgBox \"System Error5\" Exit Sub
共25 页 第 12 页
辽 宁 工 业 大 学 课 程 设 计 说 明 ( 计 算 )书
End If
uprice = rst(\"balance\") If uprice < 0 Then MsgBox \"Óû§\" & frmManager.Adodc1.Recordset![userID] & \"ÒѾ-Ç··Ñ\" & (-uprice) & \"Ôª\" End If strsql = \"update pc set mstate=0,stime=0,jstate=\"\"묒·Ñ\"\frmManager.Adodc1.Recordset![Mid] On Error GoTo error_proc
cn.Execute strsql rst.Close
Set rst = Nothing cn.Close
Set cn = Nothing
frmManager.Refresh 'ʹÊý¾Ýͬ²½ÏÔʾ MsgBox \"»áÔ±Êշѳɹ¦\" Unload Me Exit Sub error_proc:
MsgBox Err.Description, vbCritical, \"ÖØÊÔ\" Unload Me End Sub
Private Sub Form_Load() '´ÓÊý¾Ý¿âÖлñÈ¡ÉÏÍøÊ±¼ä
If IsNull(frmManager.Adodc1.Recordset![Time]) = False Then '×¢Òâ²»ÄÜÓÃÕâÖÖÐÎʽ¸³Öµ txttime.Text=txtviptime.Text = frmManager.Adodc1.Recordset![Time] & \"\" 'ÏÔʾÉÏÍøÓ¦¸¶½ð¶î If (frmManager.Adodc1.Recordset![userID] = \"\") Or (IsNull(frmManager.Adodc1.Recordset![userID])) Then frmCounter.SSTab1.Tab = 0
txttime.Text = frmManager.Adodc1.Recordset![Time] & \"\"
txtmoney.Text = frmManager.Adodc1.Recordset!Time * frmManager.Adodc1.Recordset!uprice & \"\"
frmCounter.cmdvipcounter.Visible = False Else
frmCounter.SSTab1.Tab = 1
txtviptime.Text = frmManager.Adodc1.Recordset![Time] & \"\"
txtvipmoney.Text = frmManager.Adodc1.Recordset!Time * frmManager.Adodc1.Recordset!uprice & \"\"
共25 页 第 13 页
辽 宁 工 业 大 学 课 程 设 计 说 明 ( 计 算 )书
frmCounter.cmdcounter.Visible = False End If Else
MsgBox \"ÉÏÍøÊ±¼äΪÁã\" End If
End Sub
二、窗体2代码
Option Explicit
Private Sub Form_Load()
datPrimaryRS.ConnectionString = \"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\" & App.Path & \"\\mechanicID.mdb;Persist Security Info=False\" datPrimaryRS.CommandType = adCmdTable datPrimaryRS.RecordSource = \"history\" datPrimaryRS.Refresh
End Sub
Private Sub Form_Resize() On Error Resume Next 'µ±´°Ìåµ÷Õûʱ»áµ÷ÕûÍø¸ñ
grdDataGrid.Height = Me.ScaleHeight - datPrimaryRS.Height - 30 - picButtons.Height End Sub
Private Sub Form_Unload(Cancel As Integer) Screen.MousePointer = vbDefault End Sub
Private Sub datPrimaryRS_Error(ByVal ErrorNumber As Long, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, fCancelDisplay As Boolean) '´íÎó´¦Àí³ÌÐò´úÂëÖÃÓÚ´Ë´¦ 'ÏëÒªºöÂÔ´íÎó£¬×¢Ê͵ôÏÂÒ»ÐÐ 'ÏëÒª²¶»ñËüÃÇ£¬ÔÚ´ËÌí¼Ó´úÂëÒÔ´¦ÀíËüÃÇ MsgBox \"Data error event hit err:\" & Description End Sub
Private Sub cmdDelete_Click() On Error GoTo DeleteErr
共25 页 第 14 页
辽 宁 工 业 大 学 课 程 设 计 说 明 ( 计 算 )书
With datPrimaryRS.Recordset .Delete .MoveNext
If .EOF Then .MoveLast End With Exit Sub DeleteErr:
MsgBox Err.Description End Sub
Private Sub cmdClose_Click() Unload Me End Sub
三、窗体3代码
Option Explicit
Private Sub cmdok_Click() If txtHour.Text = \"\" Then MsgBox \"ÄãµÄʱ¼äÊäÈë²»ÄÜΪ¿Õ,ÇëÖØÊÔ!\ txtHour.Text = \"\" txtHour.SetFocus Else
frmManager.Adodc1.Recordset!mstate = 1
frmManager.Adodc1.Recordset![lTime] = txtHour.Text frmManager.Adodc1.Recordset![stime] = Now() frmManager.Adodc1.Recordset![jstate] = \"¼Æ·ÑÖÐ\" frmManager.Adodc1.Recordset.Save Unload Me End If End Sub
Private Sub cmdcancel_Click() Unload Me End Sub
Private Sub Form_Load()
' Dim cn As ADODB.Connection ' Dim rst As ADODB.Recordset ' Set cn = New Connection
' Set rst = New ADODB.Recordset ' cn.Open concn End Sub
四、窗体4代码
Option Explicit
共25 页 第 15 页
辽 宁 工 业 大 学 课 程 设 计 说 明 ( 计 算 )书
Public blnReceived As Boolean
Public blnOnlineOK As Boolean 'ÅжÏÊÇ·ñÔÚÏß Public strData As String
Private Sub DataGrid1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) '°´ÏÂÓÒ¼ü£¬µ¯³ö²Ëµ¥
If Button = 2 Then PopupMenu mnupopup End Sub
Private Sub Form_Activate() 'Ò»¼¤»î¾ÍÕ¼ÆÁÄ»µÄÖмä
datagrid1.Left = (Me.ScaleWidth - datagrid1.Width) / 2 End Sub
Private Sub Form_Load() 'Êý¾ÝÁ¬½Ó³õʼ»¯
Adodc1.ConnectionString = concn Adodc1.CommandType = adCmdTable Adodc1.RecordSource = \"pc\" Adodc1.Refresh
Call DisableX(Me) '½ûÓùرմ°Ìå Dim cn As ADODB.Connection Dim rs As ADODB.Recordset Dim sql As String
Set cn = New ADODB.Connection Set rs = New ADODB.Recordset cn.Open concn
sql = \"select id,ip from clientip\" rs.Open sql, cn, adOpenKeyset rs.MoveNext rs.MoveFirst
glngClientNum = rs.RecordCount
ReDim gstrClientIP(glngClientNum - 1) While Not rs.EOF
gstrClientIP(rs(\"ID\") - 1) = rs(\"IP\") rs.MoveNext Wend
共25 页 第 16 页
辽 宁 工 业 大 学 课 程 设 计 说 明 ( 计 算 )书
rs.Close
Set rs = Nothing cn.Close
Set cn = Nothing With Winsock1
.Protocol = sckUDPProtocol
.RemoteHost = gstrClientIP(glngClientNum - 1) .RemotePort = 4001 .LocalPort = 4002
End With
blnReceived = False blnOnlineOK = False Timer3.Enabled = False Exit Sub
Label1.Caption = \"Ç뵽ϵͳÉèÖÃ--¡·Ìí¼ÓÐ޸Ŀͻ§¶Ëip,ÖØÐÂÐ޸ģ¬·Ç·¨µÄ¼ÆËã»ú±àºÅ\" Label1.Visible = True End Sub
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 2 Then PopupMenu mnupopup End Sub
Private Sub Form_Resize()
datagrid1.Left = (Me.ScaleWidth - datagrid1.Width) / 2 End Sub
Private Sub Form_Unload(Cancel As Integer) Dim Frm As Form
For Each Frm In Forms Unload Frm
Set Frm = Nothing Next Frm End Sub
Private Sub mnuExit_Click() End End Sub
Private Sub mnuLimittime_Click()
共25 页 第 17 页
辽 宁 工 业 大 学 课 程 设 计 说 明 ( 计 算 )书
frmLimittime.Show 1 'µ÷ÓÃÏÞʱ´°Ìå End Sub
Private Sub mnuLock_Click() If MsgBox(\"ÊÇ·ñÒªÍ˳ö²¢Í£Ö¹¼Æ·Ñ£¿\ frmCounter.Show 1 'µ÷ÓÃfrmCounter ´°Ìå End If End Sub
Private Sub mnusystem_Click() frmSystem.Show vbModal End Sub
Private Sub mnuTiming_Click() frmTiming.Show 1 'µ÷ÓüÆÊ±´°Ìå End Sub
Private Sub Timer1_Timer()
Dim cn As ADODB.Connection Dim rst As ADODB.Recordset Dim strsql As String Dim i As Integer Dim A As String
A = Adodc1.Recordset![jstate] = \"¼Æ·ÑÖÐ\" Set cn = New Connection
Set rst = New ADODB.Recordset cn.Open concn
strsql = \"update pc set [time]=format((DateDiff(\"\"d\"\+(Minute(now())-Minute(stime))/60), \"\"##,##0.000\"\"),[money]=[time]*uprice where jstate=\"\"¼Æ·ÑÖÐ\"\"\" cn.Execute strsql
i = Adodc1.Recordset.AbsolutePosition Adodc1.Refresh
rst.CursorLocation = adUseClient
strsql = \"select * from pc where Time>=lTime and ltime<>0 and jstate=\"\"¼Æ·ÑÖÐ\"\"\" rst.Open strsql, cn, adOpenDynamic, adLockOptimistic If rst.RecordCount > 0 Then rst.MoveFirst
While Not rst.EOF rst![jstate] = \"묒·Ñ\" rst.Update
MsgBox (\"µÚ[\" & rst![Mid] & \"]ºÅ»úÆ÷ÏÞʱÒѵ½\")
共25 页 第 18 页
辽 宁 工 业 大 学 课 程 设 计 说 明 ( 计 算 )书
rst.MoveNext Wend End If
Adodc1.Recordset.AbsolutePosition = i End Sub
Private Sub Timer3_Timer() '½«ËùÓеÄÔÚÏß»úÆ÷µÄ³¬Ê±¼ÆÊý¼ÓÒ» Dim cn As ADODB.Connection Dim rst As ADODB.Recordset Dim strsql As String
Set cn = New ADODB.Connection Set rst = New ADODB.Recordset cn.Open concn
strsql = \"select ClientID from online\" rst.Open strsql, cn
If rst.BOF And rst.EOF Then Exit Sub End If
While Not rst.EOF
AddTimeOut rst(\"ClientID\") rst.MoveNext Wend End Sub
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button) Dim PC_NumberA As Integer Dim cn As ADODB.Connection Dim i As Integer
Dim rst As ADODB.Recordset Set cn = New Connection
Set rst = New ADODB.Recordset cn.Open concn
frmManager.datagrid1.Row = frmManager.datagrid1.Row frmManager.datagrid1.Col = 0
PC_Number1 = frmManager.datagrid1.Text PC_NumberA = CInt(PC_Number1) Select Case Button.Key Case \"cmdNumberID\"
Case \"cmdTiming\" frmTiming.Show Case \"cmdLimittime\" frmLimittime.Show Case \"cmdLock\"
共25 页 第 19 页
辽 宁 工 业 大 学 课 程 设 计 说 明 ( 计 算 )书
ForceScreenLock PC_NumberA PC_NumberA = 0 Case \"cmdPoweroff\"
ForceShutDown PC_NumberA Case \"cmdReboot\"
ForceReboot PC_NumberA Case \"cmdReleaseLock\"
ReleaseLock PC_NumberA PC_NumberA = 0 End Select
PC_NumberA = 0 End Sub ' ÍøÂçÊý¾Ý´¦Àí
Public Sub Winsock1_DataArrival(ByVal bytesTotal As Long) Dim Params() As String If bytesTotal > 0 Then
On Error GoTo error_proc
Winsock1.GetData strData '½ÓÊÕÊý¾Ý ServerDealData strData '½ÓÊÕÊý¾Ý´¦Àí Exit Sub End If error_proc:
If Err.Number = 10054 Then MsgBox \"ÍøÂçûÁ¬½Ó\" MsgBox Err.Description End Sub
五、窗体5代码
Private Sub Form_Load()
datPrimaryRS.ConnectionString = concn datPrimaryRS.CommandType = adCmdTable datPrimaryRS.RecordSource = \"member\" datPrimaryRS.Refresh End Sub
Private Sub datPrimaryRS_Error(ByVal ErrorNumber As Long, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, fCancelDisplay As Boolean) '´íÎó´¦Àí³ÌÐò´úÂëÖÃÓÚ´Ë´¦ 'ÏëÒªºöÂÔ´íÎó£¬×¢Ê͵ôÏÂÒ»ÐÐ 'ÏëÒª²¶»ñËüÃÇ£¬ÔÚ´ËÌí¼Ó´úÂëÒÔ´¦ÀíËüÃÇ MsgBox \"Data error event hit err:\" & Description
共25 页 第 20 页
辽 宁 工 业 大 学 课 程 设 计 说 明 ( 计 算 )书
End Sub
Private Sub Form_Resize() On Error Resume Next 'µ±´°Ìåµ÷Õûʱ»áµ÷ÕûÍø¸ñ
grdDataGrid.Width = Me.ScaleWidth
grdDataGrid.Height = Me.ScaleHeight - grdDataGrid.Top - datPrimaryRS.Height - 30 - picButtons.Height End Sub
Private Sub Form_Unload(Cancel As Integer) Screen.MousePointer = vbDefault End Sub
Private Sub cmdAdd_Click() On Error GoTo AddErr
datPrimaryRS.Recordset.AddNew Exit Sub AddErr:
MsgBox Err.Description End Sub
Private Sub cmdDelete_Click() On Error GoTo DeleteErr With datPrimaryRS.Recordset .Delete .MoveNext
If .EOF Then .MoveLast End With
MsgBox \"ɾ³ý³É¹¦\"
Exit Sub DeleteErr:
MsgBox Err.Description End Sub
Private Sub cmdUpdate_Click() On Error GoTo UpdateErr
datPrimaryRS.Recordset.UpdateBatch adAffectAll MsgBox \"¸üгɹ¦\" Exit Sub UpdateErr:
MsgBox Err.Description End Sub
Private Sub cmdClose_Click()
共25 页 第 21 页
辽 宁 工 业 大 学 课 程 设 计 说 明 ( 计 算 )书
Unload Me End Sub
四、窗体4代码
Private Sub Form_Load()
datPrimaryRS.ConnectionString = \"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\" & App.Path & \"\\mechanicID.mdb;Persist Security Info=False\" datPrimaryRS.CommandType = adCmdTable datPrimaryRS.RecordSource = \"admi\" datPrimaryRS.Refresh End Sub
Private Sub Form_Resize() On Error Resume Next 'µ±´°Ìåµ÷Õûʱ»áµ÷ÕûÍø¸ñ
grdDataGrid.Width = Me.ScaleWidth
grdDataGrid.Height = Me.ScaleHeight - grdDataGrid.Top - datPrimaryRS.Height - 30 - picButtons.Height End Sub
Private Sub Form_Unload(Cancel As Integer) Screen.MousePointer = vbDefault End Sub
Private Sub datPrimaryRS_Error(ByVal ErrorNumber As Long, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, fCancelDisplay As Boolean) '´íÎó´¦Àí³ÌÐò´úÂëÖÃÓÚ´Ë´¦ 'ÏëÒªºöÂÔ´íÎó£¬×¢Ê͵ôÏÂÒ»ÐÐ 'ÏëÒª²¶»ñËüÃÇ£¬ÔÚ´ËÌí¼Ó´úÂëÒÔ´¦ÀíËüÃÇ MsgBox \"Data error event hit err:\" & Description End Sub
Private Sub cmdAdd_Click() On Error GoTo AddErr
datPrimaryRS.Recordset.AddNew Exit Sub AddErr:
MsgBox Err.Description End Sub
共25 页 第 22 页
辽 宁 工 业 大 学 课 程 设 计 说 明 ( 计 算 )书
Private Sub cmdDelete_Click() On Error GoTo DeleteErr With datPrimaryRS.Recordset .Delete .MoveNext
If .EOF Then .MoveLast End With Exit Sub DeleteErr:
MsgBox Err.Description End Sub
Private Sub cmdUpdate_Click() On Error GoTo UpdateErr
datPrimaryRS.Recordset.UpdateBatch adAffectAll Exit Sub UpdateErr:
MsgBox Err.Description End Sub
Private Sub cmdClose_Click() Unload Me End Sub
六、窗体6代码
Private Sub CmdEnter1_Click() frmMember.Show vbModal End Sub
Private Sub CmdEnter2_Click() frmSetpwd.Show vbModal End Sub
Private Sub CmdOnline_Click() frmOnline.Show vbModal End Sub
Private Sub Command1_Click() frmsetprice.Show vbModal End Sub
Private Sub Command2_Click() frmHistory.Show vbModal End Sub
共25 页 第 23 页
辽 宁 工 业 大 学 课 程 设 计 说 明 ( 计 算 )书
Private Sub Command3_Click() frmClientIP.Show vbModal End Sub
七、窗体7代码
Option Explicit
Private Sub cmdcancel_Click() Unload Me End Sub
Private Sub cmdok_Click() 'Á¬½ÓÊý¾Ý¿â³õʼ»¯
Dim cn As ADODB.Connection Dim rst As ADODB.Recordset Set cn = New Connection
Set rst = New ADODB.Recordset
cn.Open concn
frmManager.Adodc1.Recordset!mstate = 1
frmManager.Adodc1.Recordset![stime] = Now() frmManager.Adodc1.Recordset![jstate] = \"¼Æ·ÑÖÐ\" frmManager.Adodc1.Recordset.Save Unload Me End Sub
共25 页 第 24 页
因篇幅问题不能全部显示,请点此查看更多更全内容