刀具参数视觉检测用户程序设计V201105222034.doc_第1页
刀具参数视觉检测用户程序设计V201105222034.doc_第2页
刀具参数视觉检测用户程序设计V201105222034.doc_第3页
刀具参数视觉检测用户程序设计V201105222034.doc_第4页
刀具参数视觉检测用户程序设计V201105222034.doc_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘 要随着科学技术的发展,产品的生产越来越趋近于自动化。针对刀具的切销角度对产品生产的影响,而传统的检测方法又基本是手工完成,这将严重影响产品的生产效率。笔者运用比较研究法等对现在有检测系统进行了分析、比较和研究,并在查阅大量资料逐渐了解系统需求后,笔者设计了此系统模型来解决此问题。本刀具参数视觉检测系统主要通过数据库操作来对刀具数据进行管理及网络通信技术进行传输数据。本用户程序的设计主要用了Visual Basic编程环境,利用了VB极其友好的可视化开发环境和对Microsoft Access数据库的支持实现对刀具的检测,系统管理,刀具的参数信息的管理,以及将相应参数传输给下位机。本论文设计的刀具参数视觉检测系统程序涉及到了ADO数据库技术、网络通信技术基本原理和Socket编程。应用ADO数据库技术方便地实现对检测到的刀具参数信息进行管理、修改。应用Socket通信技术实现了PC机与下位机之间的通信。完整得实现了系统功能。关键词:数据库, Visual Basic,网络通信,Socket编程,ADOAbstractWiththe developmentof science and technology,more and more productionbecome close toautomation.Because the angle of tools affect the producation and The traditionalmanualdetection methodandis basically manual, it will seriously affect the production efficiency. Comparative study method I use now testing the system on the analysis, comparison and research, and access to large amounts of data to know the system requirements, this system model is designed to solve this problem.This user system base on visual inspection is through database operation to manage and update data ,using network communication technology to transmit data. This tool use Microsoft Visual Basic which is afriendlyvisual development environmentandsupport Microsoft Access database as its programming environment,having achieve the detection of the tool,the management of the parameters of the tool, as well as the corresponding parameters transmitted to next crew.This user system base on visual inspection involves ADO database technology,network communication principles and Socket technology.ADO database application can easily achieve the management for updating,saving,searching the information of tools.Socket communication technology can easily achieve the communication between PC application and next crew.Keywords: database, Visual Basic, network communication, Socket program, ADO 目 录摘 要IAbstractII第一章 绪论11.1计算机编程语言的发展现状11.2开发背景1第二章 开发语言及功能概述22.1 Visual Basic开发工具22.2 功能概述32.2.1对操作系统的要求32.2.2功能需求分析3第三章 开发刀具参数视觉检测用户软件43.1软件的设计43.1.1界面设计43.1.2总体设计43.1.3数据库设计43.1.4模块功能设计53.2 通过ADO实现数据存取及检索查阅功能83.2.1 ADO对象模型及功能93.2.2 使用ADO访问数据库的两种方式93.3 通过socket与下位机实现通信功能103.3.1 TCP通讯技术103.3.2 Socket通讯103.3.3 利用Winsock控件编写通信程序103.4 软件的调试及改进11第四章 刀具参数视觉检测用户软件说明书124.1软件说明书的功能分析124.2 软件说明书124.2.1 登陆模块124.2.2系统管理模块134.2.3刀具管理模块144.2.4通信检测模块18结束语215.1 课题总结21参考文献22致 谢23附录2437结束语 第一章 绪论1.1计算机编程语言的发展现状计算机语言的发展是一个不断演化的过程,其根本的推动力就是抽象机制更高的要求,以及对程序设计思想的更好的支持。具体的说,就是把机器能够理解的语言提升到也能够很好的模仿人类思考问题的形式。计算机语言的演化从最开始的机器语言到汇编语言到各种结构化高级语言,最后到支持面向对象技术的面向对象语言。目前通用的编程语言有两种形式:汇编语言和高级语言。汇编语言的实质和机器语言是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,更容易识别和记忆。用汇编语言所能完成的操作不是一般高级语言所能实现的,而且源程序经汇编生成的可执行文件不仅比较小,而且执行速度很快。高级语言是目前绝大多数编程者的选择。和汇编语言相比,它不但将许多相关的机器指令合成为单条指令,并且去掉了与具体操作有关但与完成工作无关的细节,例如使用堆栈、寄存器等,这样就大大简化了程序中的指令。同时,由于省略了很多细节,编程者也就不需要有太多的专业知识。高级语言主要是相对于汇编语言而言,它并不是特指某一种具体的语言,而是包括了很多编程语言,如目前流行的VB、VC、FoxPro、Delphi等,这些语言的语法、命令格式都各不相同。面向对象程序设计以及数据抽象在现代程序设计思想中占有很重要的地位,未来语言的发展将不在是一种单纯的语言标准,将会以一种完全面向对象,更易表达现实世界,更易为人编写,其使用将不再只是专业的编程人员,人们完全可以用订制真实生活中一项工作流程的简单方式来完成编程。1.2开发背景切削刀具的切削角度,是在提高生产率和降低成本的前提,是产品质量的重要条件,如要达到符合技术要求的形状、尺寸精度和表面等。刀具的标注角度是标注在刀具设计图上作为刀具制造与刃磨依据的角度。传统测量使用角度样板、万能量角器、重力量角器以及各种刀具量角台等。这些方法在实际生产加工和理论研究中发挥过重要作用,但是随着科技的进步,传统测量方法已经不能适应生产过程自动化的要求。为此提供了解决方案。刀具参数视觉检测系统通过视觉检测刀具,获得相应的参数,然后对其参加进行匹配或是修改,最后可以传送给下位机,由下位机进行处理。由此在工程实践中可以更好地提高其生产效率与质量。第二章 开发语言及功能概述2.1 Visual Basic开发工具VisualBasic是在早期Basic语言的基础上发展起来的一种可视化的Windows平台上的程序开发工具。.所谓可视化是一种开发图形用户界面的方法,用户不再需要编写太量代码去描述界面的外观,而只需在可视化的编程环境中,将形象直观的预置对象直接拖放在屏幕上即可,这一点是VB最显著的特点。它继承了Basic语言语法简练,简单易学的特点。但是,在WIndows环境下编程与在DOS环绕下编程有着很大区别,VB不仅仅只是Basic的扩展,而且采用了新的事件驱动和面向对象的编程机制,而且可以直接调用windowAPI中的函数,这使得VB的应用范围极其广泛.利用VB用户不仅可以编写各种Windows应用程序,而且还能将Excel电子表格、word字处理软件等嵌入其中直接使用:此外还可以通过调用Access等多种格式的数据库系统,对数据库进行管理与操作。VB具有以下七个主要特点1:(1)面向对象的可视化编程,使开发人员只需编写很少量的程序代码,就可以快速开发出标准的wmdows应用程序,极大地提高了程序设计效率。(2)事件驱动的编程机制,比传统的过程驱动方式更适合于windows图形用户界面的开发.因为在图形用户界面应用程序中,程序的执行是由用户的操作动作即事件决定的,而不是由事先设计好的程序流程所控制.这样在VB中程序员只需对各种用户动作编写相应的处理代码,程序既简练又易于维护。(3)友好的VB集成开发环境,使用户可以在其中很轻松地进行界面设计、代码编写、程序调试及编译运行等工作。(4)可以对多种数据库系统进行数据访问,包括Microsoft Access、dBASE、Microsoft FoxPro 和Microsoft SQL Server 等。(5)通过ActiveX技术,可以使用其他程序提供的功能,例如Microsoft Word字处理软件、Microsoft Excel电子表格以及其他windows应用程序。(6)支持动态数据交换、动态链接库、对象链接与嵌入以及ActiveX技术。动态数据交换技术可使VB应用程序与其他Wmdows应用程序之间建立动态的数据通信;动态链接库技术使VB程序可以方便地调用C语言、汇编语言或windows API的函数;对象链接与嵌入技术允许将其他各种基于Wmdows的应用软件作为一个对象链接或嵌入到VB应用程序中,并对其进行操作;ActiveX技术则是OLE技术的进一步发展。(7)完善的联机帮助功能通过与VB6.0的安装程序捆绑在一起的Microsoft MSDN(Microsoft Develop Network)联机帮助文档。用户可以随时方便地得到各种帮助信息,以解决用户在开发过程中遇到的各种各样的问题。2.2 功能概述2.2.1对操作系统的要求由于本系统采用了微软的Access数据库,所以本系统使用windows XP系统。2.2.2功能需求分析本系统的功能需求包括:l 登录模块 用户进入系统进的检测l 系统模块 包括管理员的添加,及修改当前密码l 管理模块 对参数进行修改,保存或者查询相应的参数数据l 通信检测模块 用户通过该模块对刀具进行检测,获得刀具的参数信息,也可将需要的参数传输给下位机,由下位机做出相应的处理系统功能模块划分如下图所示:图 2-1 功能模块图第三章 开发刀具参数视觉检测用户软件3.1软件的设计3.1.1界面设计在界面设计方面,本系统遵循了以下几点原则:(1)Windows的统一界面风格;(2)标准的图标风格设计,统一的构图布局,统一的色调、对比度、色阶;(3)图片风格一致;(4)提示信息、帮助文档文字表达遵循的开发原则。3.1.2总体设计下图表述了本系统的总体工作流程:图 3-1 系统流程图3.1.3数据库设计数据库中需要的数据表如下:(1)刀具类别表编号字段名称数据类型说明1类别名称数字刀具的种类名称2类别编号数字刀具的种类的编号表 3-1刀具类别表(2)刀具信息表编号字段名称数据类型说明1编号文本刀具编号3名称文本刀具的名称3类别文本刀具的类别4材料文本刀具参数5转速文本刀具参数6长度文本刀具参数7直径文本刀具参数8前角文本刀具参数9刃倾角文本刀具参数10主偏角文本刀具参数表3-2刀具信息表(4)管理员表编号字段名称数据类型说明1用户名文本登录时用的用户名2密码文本登录时用的密码表 3-1刀具类别表(5)表与表间的关系图3-2 表间关系3.1.4模块功能设计 (1)登录模块设计登录流程图如下:图 3-3 登录流程对应代码如下 :Dim sql As StringDim rs_login As New ADODB.RecordsetIf Trim(Combo1.Text) = Then MsgBox 没有这个用户, vbOKOnly + vbExclamation, Combo1.SetFocusElse sql = select * from 系统管理 where 用户名= & Combo1.Text & rs_login.Open sql, conn, adOpenKeyset, adLockPessimistic If rs_login.EOF = True Then MsgBox 没有这个用户, vbOKOnly + vbExclamation, Combo1.SetFocus Else If Trim(rs_login.Fields(1) = Trim(txtpwd.Text) Then userID = Combo1.Text rs_login.Close Unload Me form1.Show Else MsgBox 密码不正确, vbOKOnly + vbExclamation, txtpwd.SetFocus End If End IfEnd Ifcnt = cnt + 1If cnt = 3 Then Unload MeEnd IfExit Sub(2)系统管理模块以下为系统管理模块的流程图:图 3-4 系统管理(3)刀具管理以下为刀具管理的流程图:图 3-5 刀具管理流程(4)通信检测通信检测模块的流程图如下 :图3-6 通信流程图3.2 通过ADO实现数据存取及检索查阅功能目前在Visual Basic中开发数据库程序主要有DAO、RDO、ADO 3种数据库开发技术。其中最流行的是ADO。它是建立在基于低层数据访问接口OLEDB,对象连接与嵌入数据库技术上的数据对象。3.2.1 ADO对象模型及功能ADO按照访问和更新数据源的顺序定义了一个模型,在这个对象模型中包含了7个对象它们的具体功能是:(1)Connection对象。Connection对象用于建立与数据库的连接,通过连接可从应用程序访问数据源。它保存诸如指针类型、连接字符串、查询超时、连接超时和缺省数据库这样的连接信息。(2)Error对象。包含数据提供程序出错时的扩展信息。(3)Property对象。包含某个ADO对象的提供程序定义的特征。(4)Command对象。包含关于某个命令,例如查询字符串、参数定义等信息。在建立Connection后,可以发出命令操作数据源。一般情况下Command对象可以在数据库中添加、删除或更新数据或者在表中进行数据查询。Command对象在定义查询参数或执行一个有输出参数的存储过程时非常有用。(5)Parameter对象。包含参数化的Command对象的某单个参数的信息。该Command对象有一个包含其所有Parameter对象Parameters集合。(6)Recordset对象。用来存储数据操作返回的记录集。Recordset对象只代表一个记录集,这个记录集是一个连接的数据库中的表 ,或者是Command对象的执行结果返回的记录集。在ADO对象模型中,在行中检查和修改数据是最主要的方法,所有对数据的操作几乎都是在Recordset对象中完成的。Record对象用于指定行、移动行、添加、更改、删除记录。(7)Field对象。包含记录集中数据的某个列的信息。掌握其中的Command、Connection、Recordsetf象就可以实现基本的数据库操作。3.2.2 使用ADO访问数据库的两种方式ADO设计为一种极简单的格式通过ODBC的方法同数据库接口连接。用户可以使用任何一种ODBC数据源,即不仅适合于SQLServer、Oracle、Access等数据库,也适合于Excel表格、文本文件、图形文件和无格式的数据文件。在VB中,使用ADO访问数据库主要有两种方式一种是非编程访问方式,使用ADO Data控件方式,通过对控件的绑定来访问数据库中数据,另一种是ADO对象模型编程访问方式,通过定义对象和编写代码来实现对数据的访问2。(1)使用非编程访问方式ADO Data控件访问数据库。在工具箱中添加ADO Data控件,操作为:选择工程菜单中的部件选项,再选择“Microsoft ADO Data Control”。在窗体上把新出现在工具栏的ADO Data控件拖入;设置相关属性。(2)使用编程访问方式ADO对象模型访问数据库(可以插入代码)。引用ADO对象库。操作为:“工程”菜单下选择引用选项,再选择“Microsoft Activex Data Object 2.6 Library;为了能够在程序中使用ADO对象,首先需要声明该对象,然后才能连接数据库进行操作。3.3 通过socket与下位机实现通信功能3.3.1 TCP通讯技术TCP,面向连接的可靠的传输协议。利用TCP协议进行通信时,首先要通过三步握手,以建立通讯双方的连接。一旦连接建立好,就可以进行通信了3。TCP提供了数据确认和数据重传的机制,保证了发送的数据一定能到达通信的对方。这就与打电话一样,首先要拨打对方的电话号码以建立连接,一旦电话拨通,连接建立之后,你所说的每一句话都能够传送到通话的另一方。3.3.2 Socket通讯Socket是进行网络通信编程的API,也是Unix、Windows等操作系统的通用网络编程标准。在网络编程中最常用的方案便是客户/服务器模型。套接字(Socket)是一种双向的通信接口,可以通过这个端口与任何一个具有Socket端口的计算机通信,套接字是网络通信的基础。Socket在Windows以句柄的形式被创建。使用Socket进行网络通信必须包含下面的几种信息:双方认可的协议,本地主机的IP地址,本地进程的协议端口,对方主机的IP地址,对方进程的协议端口。3.3.3 利用Winsock控件编写通信程序(1)服务器端程序 PrivateSubCommand1.Click设置本地服务端口号Winsock1.localport=2048服务器进入监听状态Winsock1.listenEndSubPrivateSubWinsock1_ConnectionRequest收到客户连接请求检查Socket状态IfWinsock1.StatesckClosedThenWinsock1.Close接受客户请求Winsock1.AcceptrequestIDEndSubPrivateSubWinsock1_DataArrival对方数据已准备好可用GetData/SendData接收/发送数据处理客户数据EndSubPrivateSubForm_UnloadWinsock1.CloseEndSub(2)客户器端程序PrivateSubCommand1.Click设置服务器网络名Winsock1.RemoteHost=“193.168.1.40”设置服务器相应服务端口号Winsock1.RemotePort=2048向服务器发出连接请求Winsock1.ConnectEndSubPrivateSubWinsock1_Connect服务器响应连接可以进行GetData/SendData进行数据传输EndSubPrivateSubForm1.UnloadWinsock1.CloseEndSub3.4 软件的调试及改进 在系统制作过程中,对整体进行测试各个功能,发现数据更新不了。结果通过编译器调试发现是没有给相应的控件赋值,还有一个原因就是没有把sql语句写对。系统制作中发现功能太少,后面新增两个功能,一个是检测功能,另一个通信功能.这两个是非常必要的.一个是检测参数,如果是手动输入参数的话,效率会很低.通信功能则是将参数传输给下位机,这样下位机可以做出相应的处理。第四章 刀具参数视觉检测用户软件说明书4.1软件说明书的功能分析本刀具参数视觉检测系统是针对工厂刀具磨损而影响其生产效率及质量的软件。它面向一个产品制造工厂。对现在有检测系统进行了分析、比较和研究,并在查阅大量资料逐渐了解系统需求后,设计功能为:登录功能、系统管理功能、刀具参数管理功能、通信检测功能。4.2 软件说明书4.2.1 登陆模块初始用户名为 管理员,初始密码为aa。进入到系统后可以再添加一些用户,方便其它人操作。打开刀具参数视觉检测系统,初始界面如图1所示。图 4-1 登录界面选择相应的用户名及输入正确的密码,即可进入系统:如下如图所示图4-2 系统界面本程序内部另分为三大模块:刀具管理模块、系统管理模块、通信模块。4.2.2系统管理模块首先进入系统管理,点击菜单栏上的系统管理菜单;如下图所示有三个子菜单:添加管理员、修改密码、退出系统。图片4-3 系统管理(1)点击 添加管理员 可以 添加管理员,方便其它人操作该系统。输入用户名及密码就可以添加管理员了。如下图所示图片4-4 新增用户(2)点击修改密码就可对当前用户的密码进行修改,可以修改为自己熟悉的密码或复杂的密码,以防被不法分子破解。如下图所示:图4-5 修改密码(3)点击退出系统,系统将退出,所有窗口将被销毁。4.2.3刀具管理模块进入 刀具管理,刀具管理模块有二个子模块:刀具类别管理和刀具信息管理。(1)刀具类别管理:刀具类别管理又有两个子项:刀具类别添加和刀具类别修改。点击刀具类别添加,输入种类名称和类别的编号就可以 添加刀具类别,如下图所示:图4-6 刀具类别添加点击刀具类别修改会出现以下界面:图 4-7 刀具类别修改然后点击界面下方的修改按钮,就可以上面的列表中进行修改了,最后点击下方的保存。若弹出以下对话框,说明修改成功了。图 4-8 保存成功对话框(2)刀具信息管理刀具信息管理模块有三个子项,如下图所示:图4-9 刀具信息管理点击添加刀具信息,输入刀具编号、刀具长度、刀具名称、刀具材料、刀具名称、刀具转速、刀具直径、刀具前角、主偏角、刃倾角,选择相应的刀具类别,最后点击确定就可以添加一项刀具信息了。如下图所示:图4-10 添加刀具信息点击修改刀具信息,进入以下界面:图4-11 刀具信息修改首先点击下方的修改按钮,就可以在上面的列表中修改相应的参数了,最后点击保存,如果弹出保存成功的对话框,即说明修改刀具信息成功。第二,选中列表的某一行,再点删除按钮,还可以对某一项刀具信息进行删除。点击查询刀具信息,会出现以下界面:图4-12 查询刀具信息先选择你要查询的条件:刀具名称、刀具编号、刀具种类、刀具材料其中的一项或多项。点击确定即可查询所要的刀具信息。如下图为选择刀具种类:铣刀后产生的结果:图4-13 查询结果4.2.4通信检测模块通信模块有两个子项:检测和传输。(1)检测模块为通过视觉技术来检测刀具,由本程序接受传过来的参数,由于设备的缺乏,给出的参数皆为随机所得。进入界面后,点击检测按钮,会出现类似结果,如下图所示:片4-14 检测结果。在编辑框中,可以再进行修改相应的参数,点击保存信息,可以将相应的信息保存到数据库中。(2)传输模块是将相应的参数传送给下位机,由于设备有限,这里笔者用另一个程序代替。点击传输菜单项,可以看到以下界面。图4-15 传输刀具信息点击下方的查询按钮,可以查询你要的刀具信息,由于笔者重在模拟,所以只做了一个简单的查询。查询后类似以下结果,如下图所示:图4.16 查询结果然后输入相应的下位机的IP地址、本地端口号、下位机的端口号,点击 connect按钮,以连接下位机,最后点击发送给下位机,即可。发送前应保持下位机处于正常工作状态。这样下位机就可以接受传输过来的参数了。下面是下位机模拟器接受参数的结果,如下图所示:图4.17 下位机模拟器结束语5.1 课题总结针对现在工厂生产效率及质量受刀具切削角度很大影响,笔者利用Visual Basic环境开发出一套刀具参数视觉检测系统,这样能有效解决工厂因刀具磨损而带来的诸多不良影响。在毕业设计的初期,我主要学习了与本课题相关的理论知识,包括visual basic的设置与开发,在其环境下的软件开发过程等相关技术,socket编程技术和ADO技术。运用文献法、归纳法、逻辑推理法、比较研究法等对现在有检测系统进行了分析、比较和研究,并在查阅大量资料逐渐了解系统需求后,我编写了系统的需求分析规格说明和系统概要说明。接着便进入系统详细设计和编码阶段,在这个阶段,由于自己动手能力不行和对开发工具的陌生,系统遇到许多大大小小的问题。这其解决问题的过程中,我得到了极大的锻炼,基本上掌握了一些编程技巧,同时也获得了许多宝贵的软件开发经验的技巧,这为我今后工作的学习工作打下了坚实的基础。本系统采用Visual Basic + Access数据库,完成从检测刀具参数、刀具参数管理,到将参数传输给下位机完整的系统。共包括四大模块:登录模块、系统管理模块、刀具信息管理模块、通信检测模块。当然这个系统还存在许多有待完善的地方:(1)功能相对较少,有待于添加。如检测模块,由于设备缺乏,只做了简单的查询。(2)系统在操作不当的情况偶尔会出现错误,这需要的今后的日子里加以加进。(3)登录模块做得不很好,如应对用户的密码进行加密,加强安全防范。除了以上列举的一些不足之处,此外还有其它还需增强,由于个人水平有限,再加上时间紧,只能实现系统的基本操作,对其它功能我想更进一步的学习并完善参考文献1胡琪. VB程序设计M.北京:电子工业出版社. 20012王福成Visual basic数据库开发指南M北京:清华大学出版社20003曾强聪Visual Basic60程序设计教程M北京:中国水利水电出版社,2003 4肖炏. ADO编程技术M. 清华大学出版社. 20015胡鸣. Windows网络编程技术M.科学出版社. 2008.6萧秋水. Windows 网络编程之VB篇M. 清华大学出版社. 20018Jim Beveridge,Robert Wiener .Win32多线程程序设计M.华中科技大学出版社. 1997.附录致 谢至此论文完成之际,首先要感谢我的指导老师一年多来对我的悉心指导和帮助。从论文的选题、大纲的制定、内容的组织都给予了我精心执导,使我一开始就有了明确的思路,少走了许多弯路。在论文撰写过程中,老师还向我推荐了许多参考资料,从而使我的工作能够比较顺利地进行。由于家里有许多事要处理,主要通过电子邮件方式与导师联系。我在系统开发和论文撰写过程中提出的问题总能在最短的时间内得到老师的指导和答复。我从老师那里学到的不仅仅是知识和科学研究的方法,还有严谨求实的精神。所有这些,都是我一生用不之不完的宝贵财富。在此,谨向尊敬的导师致以崇高的敬意和衷心的感谢! 论文撰写过程中,参考并引用了犬量的文献资料,在此也向这些文献的作者表示感谢。 我还想感谢与我一起学长,我基本上没做过什么系统,许多东西都不懂,但学长却耐心教导,帮助我克服了许多困难,让我学到了许多知识。尤其是我对Microsoft Visual Basic环境非常地不熟悉,各种控件都不会使用,这对我开发本程序来说增加了许多困难,但在大家的帮助下,基本达到了预期的结果。同时还要感谢计算机班的每个同学,几乎每个人都在过程中给过我不同程度的帮助,大家在毕业设计的过程中都是磕磕绊绊,互相鼓励走过来的,在此真诚地感谢大家! 感谢我的父母和家人对我一贯的关心和支持,我的成长和进步离不开他们的心 血和汗水。附录以下列举了本系统中一些核心代码:一,登录模块:Dim sql As StringDim rs_login As New ADODB.RecordsetIf Trim(Combo1.Text) = Then MsgBox 没有这个用户, vbOKOnly + vbExclamation, Combo1.SetFocusElse sql = select * from 系统管理 where 用户名= & Combo1.Text & rs_login.Open sql, conn, adOpenKeyset, adLockPessimistic If rs_login.EOF = True Then MsgBox 没有这个用户, vbOKOnly + vbExclamation, Combo1.SetFocus Else If Trim(rs_login.Fields(1) = Trim(txtpwd.Text) Then userID = Combo1.Text rs_login.Close Unload Me form1.Show Else MsgBox 密码不正确, vbOKOnly + vbExclamation, txtpwd.SetFocus End If End IfEnd Ifcnt = cnt + 1If cnt = 3 Then Unload MeEnd IfExit Sub二,系统管理模块:(1) 添加用户Dim rs_add As New ADODB.RecordsetIf Trim(Text1.Text) = Then MsgBox 用户名不能为空, vbOKOnly + vbExclamation, Exit Sub Text1.SetFocusElse sql = select * from 系统管理 rs_add.Open sql, conn, adOpenKeyset, adLockPessimistic While (rs_add.EOF = False) If Trim(rs_add.Fields(0) = Trim(Text1.Text) Then MsgBox 已有这个用户, vbOKOnly + vbExclamation, Text1.SetFocus Text1.Text = Text2.Text = Text3.Text = Exit Sub Else rs_add.MoveNext End If Wend If Trim(Text2.Text) Trim(Text3.Text) Then MsgBox 两次密码不一致, vbOKOnly + vbExclamation, Text2.SetFocus Text2.Text = Text3.Text = Exit Sub Combo1.SetFocus Combo1.Text = Exit Sub Else rs_add.AddNew rs_add.Fields(0) = Text1.Text rs_add.Fields(1) = Text2.Text rs_add.Update rs_add.Close MsgBox 添加用户成功, vbOKOnly + vbExclamation, Unload Me End IfEnd IfEnd Sub(3)修改密码Private Sub Command1_Click()Dim rs_chang As New ADODB.RecordsetDim sql As StringIf Trim(Text1.Text) Trim(Text2.Text) Then MsgBox 密码不一致!, vbOKOnly + vbExclamation, Text1.SetFocus Text1.Text = Text2.Text = Else sql = select * from 系统管理 where 用户名= & userID & rs_chang.Open sql, conn, adOpenKeyset, adLockPessimistic rs_chang.Fields(1) = Text1.Text rs_chang.Update rs_chang.Close MsgBox 密码修改成功, vbOKOnly + vbExclamation, Unload MeEnd IfEnd Sub三,刀具管理(1)刀具类别添加Option ExplicitPrivate Sub Command1_Click()Dim rs_bookstyle As New ADODB.RecordsetDim sql As StringIf Trim(Text1.Text) = Then MsgBox 刀具种类不能为空, vbOKOnly + vbExclamation, Text1.SetFocus Exit SubEnd IfIf Trim(Text2.Text) = Then MsgBox 种类编号不能为空, vbOKOnly + vbExclamation, Text2.SetFocus Exit SubEnd Ifsql = select * from 刀具类别 where 类别名称= & Text1.Text & rs_bookstyle.Open sql, conn, adOpenKeyset, adLockPessimisticIf rs_bookstyle.EOF Then rs_bookstyle.AddNew rs_bookstyle.Fields(0) = Trim(Text1.Text) rs_bookstyle.Fields(1) = Trim(Text2.Text) rs_bookstyle.Update MsgBox 添加刀具类别成功!, vbOKOnly, rs_bookstyle.CloseElse MsgBox 刀具类别重复!, vbOKOnly + vbExclamation, Text1.SetFocus Text1.Text = rs_bookstyle.Close Exit SubEnd IfEnd Sub(2)刀具类别修改Option ExplicitDim rs_reader As New ADODB.RecordsetPrivate Sub cmdcancel_Click() rs_reader.CancelUpdate DataGrid1.Refresh DataGrid1.AllowAddNew = False DataGrid1.AllowUpdate = False cmdmodify.Enabled = True cmddel.Enabled = True cmdcancel.Enabled = False cmdupdate.Enabled = FalseEnd SubPrivate Sub cmddel_Click()Dim answer As StringOn Error GoTo delerroranswer = MsgBox(确定要删除吗?, vbYesNo, )If answer = vbYes Then DataGrid1.AllowDelete = True rs_reader.Delete rs_reader.Update DataGrid1.Refresh MsgBox 成功删除!, vbOKOnly + vbExclamation, DataGrid1.AllowDelete = FalseElse Exit SubEnd Ifdelerror:If Err.Number 0 Then MsgBox Err.DescriptionEnd IfEnd SubPrivate Sub cmdmodify_Click()Dim answer As StringOn Error GoTo cmdmodifycmddel.Enabled = Falsecmdmodify.Enabled = Falsecmdupdate.Enabled = Truecmdcancel.Enabled = TrueDataGrid1.AllowUpdate = Truecmdmodify:If Err.Number 0 Then MsgBox Err.DescriptionEnd IfEnd SubPrivate Sub Command5_Click()rs_reader.UpdateDataGrid1.RefreshEnd SubPrivate Sub cmdupdate_Click()If Not IsNull(DataGrid1.Bookmark) Then rs_reader.UpdateEnd If cmdmodify.Enabled = True cmddel.Enabled = True cmdcancel.Enabled = False cmdupdate.Enabled = False DataGrid1.AllowUpdate = False MsgB

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论