基于Windows环境的实验室进程管理系统 毕业论文.doc

上传人:来看看 文档编号:3922047 上传时间:2019-10-10 格式:DOC 页数:25 大小:172.52KB
返回 下载 相关 举报
基于Windows环境的实验室进程管理系统 毕业论文.doc_第1页
第1页 / 共25页
基于Windows环境的实验室进程管理系统 毕业论文.doc_第2页
第2页 / 共25页
基于Windows环境的实验室进程管理系统 毕业论文.doc_第3页
第3页 / 共25页
基于Windows环境的实验室进程管理系统 毕业论文.doc_第4页
第4页 / 共25页
基于Windows环境的实验室进程管理系统 毕业论文.doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《基于Windows环境的实验室进程管理系统 毕业论文.doc》由会员分享,可在线阅读,更多相关《基于Windows环境的实验室进程管理系统 毕业论文.doc(25页珍藏版)》请在三一文库上搜索。

1、 摘要随着各高校学生的增多, 实验室管理的工作变得越来越繁重。采用传统的人工管理模式,效率低下,不能满足实际的需求。本文描述的是基于Windows环境的一个实验室进程管理系统,对一个实验室进程管理系统的需求进行了分析。本系统的主要功能包括:老师可以实时监控学生机系统运行的程序,发现未被允许的进程进行警告;超过一定的时间则关闭未被允许的进程。可以增加和删除允许运行的程序至许可程序集;从许可程序集中,指定本节课允许运行的程序;可临时添加本节可允许运行的程序(不将其加入许可程序集);增加或修改本节课允许运行的程序;许可程序集可以保存。系统的设计与开发采用服务器/客户机的系统结构模式,使用Delphi

2、开发工具开发,应用SQL Server2000数据库管理系统,通过ADO连接数据库。第一章 引言31.1课题背景41.2 语言工具41.3主要内容4第二章 相关技术介绍52.1 delphi52.1.1 Delphi特点52.1.2 Delphi762.2 SQL Server62.2.1 SQL Server 200072.2.2 SQL Server 2000的特点72.3 ADO技术7第三章 需求分析与可行性分析73.1 需求分析73.1.1 实验室需求简介73.1.2 功能性需求83.1.3 非功能性需求8安全保密性需求:用户登录需要密码验证83.2 可行性分析93.2.1 经济可行性

3、93.2.2 技术可行性9第四章 总体设计94.1 总体设计目标94.2 功能模块设计94.3 数据库设计114.3.2数据建模114.3.3各实体关系模型114.3.4数据库逻辑结构设计12第五章 系统详细设计155.1 重要代码16第六章 实验室进程管理系统设计总结246.1系统的优点24参考文献25第一章 引言21世纪,人类已全面进入数字信息化社会,现在信息技术的应用越来越普及,不但促进了社会的高速发展,也影响着人们的工作、学习、生活和娱乐的方式以及思想观念。随着科学技术的不断提高,计算机科学与技术日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域,迅速地改变着人类社会的

4、生产方式和生活方式,成为减轻人们体力与脑力劳动,帮助人们完成一些人们难以完成任务的有效工具。随着电脑的普及与使用,现在的管理也提升了一个档次,渐渐实现了无纸化办公。高校是科研的阵地,教学的实验室管理也应该一改传统的人工管理,更加信息化,时代化,节省人力物力,提高效率。基于这一点,开发了此实验室管理系统。1.1课题背景高校实验室存在一些不良现象,有些学生在实验课上做其他的事。如玩游戏为了提高高校实验室管理效率,试实验室的管理更加的规范。实验室进程管理系统从限制学生电脑的进程来管理。使用实验室进程管理系统,只需一到两名数据操作员即可操作管理系统,节省大量人力和财力;可以存储大量学生上课的基本信息,

5、安全、高效、快捷;可以实时监控学生机系统运行的程序,发现未被允许的进程进行警告;超过一定的时间则关闭未被允许的进程。这些特点可以极大地提高实验室管理的效率。1.2 语言工具该实验室进程管理系统是我所在团队的第一个任务,在语言工具的选择上,我们通过导师的提议以及所有成员集体讨论后,前台工具使用了delphi语言,在后台数据库的选择上,我们使用SQL server 2000作为我们的后台。 delphi灵活方便,与后台的SQL Server2000数据库相结合,可以提供一个高性能的实验室进程管理系统。1.3主要内容本文研究的主要内容有:l 实验室进程管理系统的需求分析l 实验室进程管理系统的可行性

6、分析l 实验室进程管理系统开发的相关技术介绍l 实验室进程管理系统的总体设计l 系统数据库的概念设计l 系统各模块的详细设计l 系统评价以及设计中碰到的难点第二章 相关技术介绍开发数据库管理信息系统需要两种工具,即前台开发语言和后台数据库。本系统前台开发技术使用Delphi,后台数据库使用SQL Server2000。Delphi灵活方便,与后台的SQL Server2000数据库相结合,可以提供一个高性能的实验室进程管理系统。2.1 delphiDelphi是Pascal语言的一种版本,但它与传统的Pascal语言有很大差别。一个Delphi程序首先应是程序框架(Frame),而这一框架正式

7、应用程序的“骨架”。在骨架上即使没有附着任何东西,仍然可以运行。所要做的工作只是在“骨架”中加入程序。缺省的应用程序是一个空白的窗体(Form),运行可以得到一个空白的窗口。这个窗口具有Windows窗口的全部性质,可以被放大缩小、移动、最大最小化等。程序框架及一个空白的窗体已经是一个可运行应用程序,只是不处理任何事情。2.1.1 Delphi特点Delphi自从1995年2月诞生以来,获得了巨大的荣誉和广泛的影响力,以可视化编程、强大的编译功能、友好的用户界面闻名于世。主要特点是:l 高效的可视化组件库和面向对象的架构。l 具有多种操作向导和在线帮助,大大方便程序编写。l 界面设计所见即所得

8、和鼠标拖曳方式,可以轻松设计出华丽的界面。l 支持各种最新及最常用的技术如 Win32 API、OLE、COM、DCOM、ActiveX、ISAPI、NSAPI、DirectX等。l 全面支持Windows 应用程序。l 具有开放式数据库结构,集成了丰富的数据库开发工具。l 具有强大的面向网络编程功能,其C/S开发工具在高性能的快速应用程序开发领域成为行业标准。Delphi产品按照功能可以分为4个类型:l Delphi集成开发环境(Integrate Develop Environment):提供友好的用户编程开发界面,集成了高效的编译器、项目管理器、团队开发支持、高级调试等功能。l Delp

9、hi可视化组件库(Visual Component Library):提供几百个常用组件,用于数据库访问、用户接口、数据处理、报表和Internet开发。l Borland数据引擎(Borland Data Engineer):能够进行数据库管理,并与数据库服务器高速连接。l MIDAS:是一个集成与Delphi的分布式应用稽核,功能强大,主要用于商业逻辑的智能集中管理和企业交易的快速处理。2.1.2 Delphi72002年8月6日,Borland公司正式宣布推出Delphi 7 Studio,全面支持Microsoft公司.NET平台应用的开发。Delphi7是一个针对Windows平台上

10、的跨平台快速开发(RAD)环境。Delphi7的一个显著特性是企业开发和部署。 Delphi7的新特点:l 企业应用的MDA开发:通过让开发者从设计到发布都重复使用一个应用程序,加速开发进程,同时显著减少代码量和需要的开发时间。l 可视化的快速Web开发:让开发者能够在Delphi7环境中可视化地创建Web应用,并且利用它的应用模型框架,不必再考虑通用的服务器端的开发任务,还能透明地处理会话管理。l 内建的Linux的跨平台支持:Delphi7在出售时将附带Delphi语言版本的Dylix3。Kylix3是第一个Linux操作系统上的高性能的可视化集成开发环境(IDE),它适用来快速创建数据库

11、应用、GUI应用、Web应用和Web服务应用。l 企业级的报表能力:让开发者能创建跨平台的报表,这些报表能帮助查看应用程序运行的效率。l Windows XP应用:Delphi7包含了对Windows XP风格支持,让开发者能够创建可以利用Windows XP 使用者界面风格的应用。2.2 SQL Server 数据库是数据管理的最新技术,是计算机科学的重要分支。今天,信息资源已成为各个部门的重要财富和资源。建立一个满足各级部门信息处理要求的行之有效的信息系统也成为企业或组织生存和发展的重要条件。因此,作为信息系统核心和基础的数据库技术得到越来越广泛的应用。对于一个国家来说,数据库的建设规模、

12、数据库信息量的大小和使用频度已成为衡量一个国家信息化程度的重要标志。 2.2.1 SQL Server 2000SQL Server 2000 是一个高性能的客户端/服务器结构的关系数据库管理系统。SQL SERVER 2000是为支持高容量的事务处理以及数据仓库和决策支持系统而设计的。它是Microsoft 公司推出的,该版本继承了SQL Serve 7.0 版本的优点,同时又比它增加了许多更先进的功能,可跨越从运行Microsoft Windows 98 的电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。2.2.2 SQL Server 200

13、0的特点l 简单易操作:SQL Server 2000 界面风格和Windows界面风格完全一致。l 兼容性良好,具有扩展性,可靠性。l 数据仓库: SQL Server 2000增加了OLAP功能。OLAP可以通过多维存储技术对大型、复杂数据集执行快速、高级的分析工作。数据挖掘功能能够揭示隐藏在大量数据中的倾向及趋势,它允许组织或机构最大限度地从数据中获取价值。通过对现有数据进行有效分析,这一功能可以对未来的趋势进行预测。2.3 ADO技术 ADO( Active Data Objects )是一种提供访问各种数据类型的链接机制,是通过ODBC的方法访问数据库的接口。ADO主要优点是易于使用

14、、高速度、低内存支出和占用磁盘空间较少,同时具有远程数据服务(RDS)功能。在Delphi中,提供了一组ADO组件,用于对ADO访问能力的支持。第三章 需求分析与可行性分析3.1 需求分析3.1.1 实验室需求简介 客户端方面:实时监控学生机系统运行的程序,发现未被允许的进程进行警告;超过一定的时间则关闭未被允许的进程。服务器方面:可以增加和删除允许运行的程序至许可程序集;从许可程序集中,指定本节课允许运行的程序;可临时添加本节可允许运行的程序(不将其加入许可程序集);增加或修改本节课允许运行的程序;许可程序集可以保存。3.1.2 功能性需求软件需求分析是指对目标软件系统在功能、行为、性能、设

15、计约束等方面的期望。需求分析是软件设计、实现测试直至维护的主要基础,良好的需求分析可以避免或尽早提出早期的错误,从而降低软件的开发成本,改进软件的质量。我们所设计完成的实验室进程管理系统应该要完成以下的任务: 客户端 (1) 从教师机获取本节课允许运行程序集;(2) 实时监控学生机系统运行的程序,发现未被允许的进程进行警告;(3) 超过一定的时间则关闭未被允许的进程(4) 系统以托盘程序或系统服务形式运行; 服务器端(5) 可以增加和删除允许运行的程序至许可程序集;(6) 从许可程序集中,指定本节课允许运行的程序;(7) 可临时添加本节可允许运行的程序(不将其加入许可程序集);(8) 增加或修

16、改本节课允许运行的程序;(9) 许可程序集可以保存3.1.3 非功能性需求用户界面需求:简洁、易用、易懂,友好的用户界面。运行环境需求:windows 98及以上操作系统可靠性需求:保证用户在正常使用本系统时,用户的操作或误操作不会产生数据丢失。安全保密性需求:用户登录需要密码验证3.2 可行性分析开发任何一个系统,都会受到时间和资源上的限制。因此,在每一个项目开发之前,都要进行可行性分析,以减少项目的开发风险,避免人力,物力和财力的浪费。可行性分析主要包括经济可行性和技术可行性等。3.2.1 经济可行性经济可行性,主要是针对一个学校的开发系统的成本与收益相比较。如今是信息化时代,信息化管理可

17、以使实验室管理更加系统化,全面化、快速化,这样可以为学校带来高校的工作效益和经济效益,开发出本系统可以减少实验室管理人员人数,而且管理方便,各功能实现快速,数据有效的管理。这些效益和管理上的便捷远远超过了开发本系统的成本,所以在经济上具有完全的可行性。3.2.2 技术可行性本系统开发工具是Delphi和SQL Server2000。Delphi具有可视化界面,是一种面向对象的语言,简单易学而且灵活方便,SQL Server 2000是一个安全、可靠的并且支持面向对象设计的数据库系统。易用性和可维护性也很好。在大二期间,就已学过SQL Server2000。所以,技术上具有完全的可行性。数据库的

18、设计和操作是本系统设计的核心。在大学期间曾经学习过软件工程,也以四人一组完成过有关的大作业,具备一定的系统分析与设计能力,熟悉数据的设计与操纵。因此,本系统的实现在技术上是可行的。第四章 总体设计4.1 总体设计目标l 减少老师、管理人员大量繁琐的工作。l 减少学校在实验室管理方面的人力和物力的投资。实验室进程管理系统功能实用。操作简单,拥有友好的易额面,适用于各类学校的机房进程管理。4.2 功能模块设计系统功能模块包括: 2、 教师机功能:(1) 可以增加和删除允许运行的程序至许可程序集;(2) 从许可程序集中,指定本节课允许运行的程序;(3) 可临时添加本节可允许运行的程序(不将其加入许可

19、程序集);(4) 增加或修改本节课允许运行的程序;(5) 许可程序集可以保存登录用户名 密码教师界面管理员界面课程增加课程删除课程查询发布进程集(加入该老师允许进程集)发布临时进程集(不加入)查看发布进程集教师增删查进程增删查3、 学生机功能(1) 从教师机获取本节课允许运行程序集;(2) 实时监控学生机系统运行的程序,发现未被允许的进程进行警告;(3) 超过一定的时间则关闭未被允许的进程(4) 系统以托盘程序或系统服务形式运行;提示允许运行的进程集学生机客服端监控学生机系统运行的程序制性关闭未被允许的进程4.3 数据库设计4.3.2数据建模模型是软件的第一个技术表示。信息系统的建模是用模型来

20、描述复杂的信息系统,使得系统的要求、结构和数据变得简单。设计者通过描述用户的需求获得与用户的不断交互,最终对整个系统能全面地把握。建立完整的数据模型,完成对信息系统中数据的存储和处理。实验室进程管理系统比较复杂,为了建立这样一个复杂系统的模型,并满足实际对象不断发展的需求,在实际设计中应遵循下列原则:l 准确性:所建立的模型要求能够正确反映实际的对象,能够满足实验室进程管理工作的实际需求。l 完整性:指要求模型既能反映对象系统的静态特性,同时能够反映其丰富的动态特性。l 一致性:要求建立的模型能保证从分析阶段到设计阶段的平稳过渡。4.3.3各实体关系模型经过分析,可以得出以下各实体之间的E-R

21、图,(如图4-6到4-8)teachercourse选课linkprocess上课登记添加教师编号课程编号教师编号登记时间上课时间课程名称课程编号权限密码教师名称进程名称进程介绍进程类型进程名称4.3.4数据库逻辑结构设计 基本定义: 教师与管理员有自己的编号、密码。在要进入该进程管理系统时,需进行身份认证。不用类型的用户有不同的权限。管理员的权限最大,包括进程的增删查、教师的增删改查等。教师有自己的身份认证,可以发布课程信息,每次课可以添加、删除临时进程,同时可以改变自己的登录密码。学生在上课时,只能运行管理员发布的进程以及教师本节课添加的临时进程,其余进程不予运行。进程与课程的删除,若某进

22、程还有课程使用,则不能从进程表中删除教师表teacher:字段名称字段格式字段约束字段说明教师编号intprimary key编号自动加一教师名称varchar(50)密码varchar(50)Default 0001默认初始密码为0001权限charDefault 0默认值为0;0为教师、1为管理员,管理员可进行更改课程表:course字段名称字段格式字段约束字段说明课程编号intPrimary key标识一个课程,自动加一课程名称varchar(50)上课时间varchar(200)记录该课程上课时间以及一些介绍登记时间varchar(30)该课程登记时间上课登记表link:字段名称字段格

23、式字段约束字段说明教师编号intForeign Key 为教师表teacher里的课程编号intForeign Key为课程表course里的进程名称varchar(50)Foreign Key为进程表process里的进程表:process字段名称字段格式字段约束字段说明进程名称varchar(50)Foreign Key唯一进程介绍varchar(500)进程类型varchar(10)check(proztai in(AP,SP)SP表示系统进程、AP表示应用进程临时表:tempprocess字段名称字段格式字段约束字段说明进程名称varchar(50) 3.3 物理结构设计a.建立一个数

24、据库,数据库名称processcreate database processon(name=libraryfilename=d:SQLprocess.mdf,size=20MB,filegrowth=5MB)log on(name=ManaLibLog,filename=d:SQLManaLibLog.ldf,size=5MB,maxsize=20MB,filegrowth=10%)use process在该数据库中建立教师表teacher、课程表course、上课登记表link、进程表process及临时表tempprocess。一切活动都在该数据库进行了。b.对于primary key数据

25、库会自动建立索引。C对于有建立聚簇索引表的数据,可以通过聚簇索引存取方法;对于有建立索引表的数据,可以通过索引存取方法;没有索引表的数据,有HASH存取方法可以选择;最后选择进行全表扫描得到。4 运行设计 4.1 数据字典设计a.数据项b.数据结构 教师=教师编号+教师姓名+密码+权限 课程=课程编号+课程名称+上课时间及介绍+课程登记时间;上课情况=教师证号+课程编号+进程名;进程=进程证号+进程介绍+进程类型 C数据存储 数据存储描述=名称:ManalibData;存储在相应的磁盘中,形成计算机文档,通过键盘输入数据,存储在表中。刚建立该管理系统时,进程的创建较频繁,接下去比较稳定,不同教

26、师的不同课程,可能会临时增加一些进程,一般情况下为进程的查询。 4.2 安全保密设计 初定为用户分为两大类:教师和学生,教师在教师机上进行进程的管理,学生机上只能运行教师允许的进程,其余的不予运行。教师分为两种:管理员和普通教师。管理员拥有所有的权限,包括教师的权限管理,基本信息的增删改查;普通教师由管理员授予不用的权限。只能在上课时修改该节课所要用到的进程,不能对其他课程的进程进行修改。 学生可以对所上课程允许的进程进行查询,也只能运行老师所允许的进程。第五章 系统详细设计该实验室进程管理系统是由纬度工作室的所有成员共同完成的,对于个人而言,所完成的任务就是其中的若干个模块。在本系统的设计中

27、,我所完成的任务主要有员工信息录入模块、员工信息统计模块、宿舍信息录入模块、学生休学及学生复学模块。详细设计如下。5.1 系统运行平台设置5.1.1、硬件环境:处理器:Pentium 800以上;内存:256M及以上;硬盘空间:1GB及以上;屏幕分辨率:1024*8005.1.2、软件环境:Windows 2000 Professional 或 Windows 2000 Server操作系统。5.2 重要代码学生机: function GetPathFileofModule(ModuleName:String):String; /枚举进程所调用的模块及进程文件所在路径var hProcSnap

28、:THandle; /窗体句柄 pProcess:THandle; pe32:TProcessEntry32; /Process32First 得到一个系统快照里第一个进程的信息 buf:array0.MAX_PATH of char; /显示模块对应的文件名和路径 hMod:HMODULE; cbNeeded:DWORD; begin hProcSnap:=CreateToolHelp32SnapShot(TH32CS_SNAPALL,0); /创建快照函数CreateToolhelp32Snapshot if hProcSnap=INVALID_HANDLE_VALUE then Exit

29、; pe32.dwSize:=SizeOf(ProcessEntry32); /在调用Process32First前需要设置,否则将会失败 if Process32First(hProcSnap,pe32)=True then /返回第一个进程是否调用成功 while Process32Next(hProcSnap,pe32)=True do /顺序调用进程 begin if uppercase(pe32.szExeFile)=uppercase(ModuleName) then begin pProcess:=OpenProcess(PROCESS_QUERY_INFORMATION or

30、PROCESS_VM_READ, FALSE, pe32.th32ProcessID); if pProcess0 then begin if EnumProcessModules(pProcess,hMod,sizeof(hMod),cbNeeded) then begin ZeroMemory(buf,MAX_PATH+1); GetModuleFileNameEx(pProcess,hMod,buf,MAX_PATH+1); Result:=strpas(buf); end; end; end; end; CloseHandle(hProcSnap);end;$R *.dfmproced

31、ure TForm1.get();varProcessList :Thandle;pe :TPROCESSENTRY32;found:boolean;Summ: Word;NewItem: TListItem;begin / ProcessEnumListView1.Items.Clear;ProcessList:=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); /创建快照函数CreateToolhelp32Snapshotpe.dwSize:=sizeof(TPROCESSENTRY32); /在调用Process32First前需要设置,否则

32、将会失败found := Process32First(ProcessList, pe); /Process32First 得到一个系统快照里第一个进程的信息Summ := 0;while found do begin Summ := Summ + 1; NewItem := ListView1.Items.Add; /在ListView1显示 /NewItem.ImageIndex := -1; temp1:=ExtractFileName(pe.szExeFile); /获取进程名赋给一个变量 / temp1:=WINWORD.EXE; Result1:=1; Result1:=Searc

33、h(temp1); if(Result1=0) then begin temp2:=temp1; MessageDlg(警告!您开启了在这节课不被允许的程序,我们将在10秒后自动关闭该程序!,mtWarning,mbOk,0); /showMessage(警告!您开启了在这节课不被允许的程序,我们将在10秒后自动关闭该程序!); edit1.Text:=warning!+temp1; break; end; NewItem.Caption :=ExtractFileName(temp1);/返回进程名称 NewItem.subItems.Add(FormatFloat(00, Summ);/返

34、回序号 NewItem.subItems.Add(IntToStr(pe.th32ProcessID);/返回进程ID / NewItem.SubItems.Add(IntToStr(tThreads); /返回进程线程数 NewItem.SubItems.Add(GetPathFileofModule(ExtractFileName(pe.szExeFile); /返回每个进程文件所在路径 found := Process32Next(ProcessList, pe); edit1.Text:=当前系统共有+IntToStr(Summ)+个进程 ;end;CloseHandle(Proces

35、sList);end;function TForm1.KillTask(ExeFileName: string): Integer;const PROCESS_TERMINATE = $0001; var ContinueLoop: boolean; FSnapshotHandle: THandle; FProcessEntry32: TProcessEntry32; begin Result := 0; FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); FProcessEntry32.dwSize := S

36、izeOf(FProcessEntry32); ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32); while Integer(ContinueLoop) 0 do begin if (UpperCase(ExtractFileName(FProcessEntry32.szExeFile) = UpperCase(ExeFileName) or (UpperCase(FProcessEntry32.szExeFile) = UpperCase(ExeFileName) then Result := Integer(

37、TerminateProcess( OpenProcess(PROCESS_TERMINATE,BOOL(0),FProcessEntry32.th32ProcessID),0); ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32); end; CloseHandle(FSnapshotHandle);end; procedure TForm1.Timer3Timer(Sender: TObject);begin Result:=KillTask(temp2); if(Result0)then begin showMe

38、ssage(自动shanchu成功); end;end;procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);beginMessageDlg(上课期间该软件不允许被关闭!,mtWarning,mbOK,1);/canClose:=false;end;function TForm1.Search(ExeFileName: string):Integer;varrs:Integer;begin with adostoredproc1 do begin close; procedurename:=proc_te

39、mpprocess;1; parameters.Refresh; parameters.ParamByName(proname).Value:=ExeFileName; parameters.ParamByName(rs).Value:=rs; ExecProc; / open; end; Search:=adostoredproc1.Parameters.ParamValuesrs;end;end.教师机:教师添加:begin IF edit2.Text = then showmessage(教师姓名不能为空) else begin with AdoQuery1 do BEGIN close

40、; SQL.clear; SQL.Add(insert into teacher(usename,password,powers); SQL.Add(values(:name,:pass,:powers); Parameters.parambyname(name).value:=edit2.text; if(edit3.text=) then Parameters.Parambyname(pass).value:=001 else Parameters.Parambyname(pass).value:=edit3.text; if(radiogroup1.ItemIndex=0) then P

41、arameters.parambyname(powers).value:=0 else Parameters.parambyname(powers).value:=1; ExecSQL; close; SQL.Clear; SQL.Add(select * from teacher); open; label9.Caption :=记录总数:+inttostr(recordcount); end ; Edit2.Text:=; Edit3.Text:=; showmessage(教师添加成功!); end; end;教师删除:begin if edit4.Text= then showmessage(先进行查找,再删除) else begin if adoquery1.recordcount0 then begin if messagedlg(确定要删除所有符合条件的记录吗?,mtconfirmation,mbokcancel,0)=mrok then begin adoquery1.First ; while not adoquery1.eof do begin id:=adoquery1.FieldByName(useno).Asstring ; with adoquery2 do begin close;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1