搜索
您的当前位置:首页正文

数据库课程设计网吧管理系统

来源:好走旅游网


设计题目 网吧管理系统 设计技术 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 页

因篇幅问题不能全部显示,请点此查看更多更全内容

Top