资源描述
唐诗查询系统
摘 要
诗歌是人类智慧的结晶,诗歌是人类一切美好事物的表现。在唐代有许多杰出的诗人,同时也有许多脍炙人口的好诗,唐诗流传至今仍然有许多。在21世纪的今天,从小让孩子接受良好的教育则显得十分重要。在计算机日益普及的现代社会。计算机已经在各行各业发挥着重要的作用。用计算机来学习已经成为必然的结果。
基于上面的几点情况,本人开发了一套唐诗录入管理专业软件——唐诗管理系统,该系统操作方面也比较方便,界面也较友好,尤其适合少年或幼儿进行学习。由于是我的水平能力来说,所以该系统功能不是很强,很齐全。在数据库方面,该系统采用Microsoft 公司的Access 来为数据库提供服务,在安全性方面也有了较大的提高。
关健词: VB ACCESS ADO MIS。
正文:
一、需求分析
诗歌是人类智慧的结晶,诗歌是人类一切美好事物的表现。
诗歌作为人类文化的宝贝遗产,在人类文明中占有举足轻重的意义。文化悠久的中华民族自古就流传下来许多的诗歌辞赋,唐诗就是这些诗歌辞赋代表之一。
唐诗就是唐代的诗。在唐代有许多杰出的诗人,同时也有许多脍炙人口的好诗,例如李白的“将进酒”,白居易的“ 赋得古原草送别”,柳宗元的“ 江雪”,等等。 虽然经过了千年之久,但是唐诗流传至今仍然有许多,所以,后世的人们把这些诗收集,整理之后,取了一个名字,“唐诗三百首”,更是,流下了,“熟读唐诗三百首,不会做诗也会吟”的俗语。
在21世纪的今天,“教育从娃娃抓起”的现在,从小让孩子接受良好的教育则显得十分重要。而由于孩子年龄小,接受能力有限,用什么来教育孩子是广大父母头疼的问题之一。诗歌作为一种简单的教学方式越来越普遍的在实际应用中,取得了很好的效果。尤其是唐诗,更是成为众多家长的首选。教育学家也指出,唐诗有着优美的文字,所写的是祖国的壮丽山河,美丽景色,更以简单明了的学习方法,孩子们则能容易的掌握这些知识。
在计算机日益普及的现代社会,。计算机已经在各行各业发挥着重要的作用。计算机是老师,用计算机学习渐渐成为现实,用计算机来学习已经成为必然的结果。学习唐诗也不例外,于传统的书籍学习相比,计算机学习则有以下优势:1、容易接受,有声有色,你面对的将是交互的世界,有声音,有图像。而不是一动不动的书籍。2、成本低廉,你所需要的一切学习资源在Internet上都可以找到,最主要的是,它们都是免费的。3、效果的及时性,你学习的效果可以当时就反映出来,传统的书籍学习则不知道效果。 基于上面的几点情况,本人开发了一套唐诗录入管理专业软件——唐诗管理系统,该系统操作方面也比较方便,界面也较友好,尤其适合少年或幼儿进行学习。由于是我的水平能力来说,所以该系统功能不是很强,很齐全。。在数据库方面,该系统采用Microsoft 公司的Access 来为数据库提供服务,在安全性方面也有了较大的提高。
二、开发平台
本人开发的唐诗管理系统是基于Windows系列操作系统,可以使用在Windows 98、Windows 2000及Windows XP,使用Microsoft的Visual Basic 6作为开发环境。数据库方面使用Microsoft的桌面数据库Microsoft Access 2000。
VB介绍
Vb是Microsoft推出的面向对象的32位开发系统。由于其灵活性和高度可用性,一直是学习面向对象编程人员的首选,受到大量程序开发人员的喜爱。微软最早起家就是依靠BASIC语言,因此微软和BASIC语言的感情总是非常浓厚。BASIC演变成为Visual Basic以后,更是在微软的产品中获得广泛的应用,除了单独的VB开发版以后,Visual Basic for Application更是嵌套到微软的旗舰产品Microsoft Office中,成为Office功能强大的二次开发语言。由于VB中内嵌了数据库引擎Jet,因此它也成了访问Access数据库最为有效的开发平台。
Visual Basic是一种可视化的、面对对象和条用事件驱动方式的结构化高级程序设计,可用于开发Windows环境下的种类应用程序。它简单易学、效率高,且功能强大,可以与Windows的专业开发工具SDK相媲美,而且程序开发人员不必具有C/C++编程基础。在Visual Basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的应用程序接口(API)函数,以及动态链接库(DLL)、动态数据交换(DDE)、对象的链接与嵌入(OLE)、开放式数据访问(ODBC)等技术,可以高效、快速地开发出Windows环境下功能强大、图形界面丰富的应用软件系统。
总的来说,Visual Basic具有以下特点:
可视化编程:用传统程序设计语言设计程序时,都是通过编写程序代码来设计用户界面,在设计过程中看不到界面的实际显示效果,必须编译后运行程序才能观察。如果对界面的效果不满意,还要回到程序中修改。有时候,这种编程-编译-修改的操作可能要反复多次,大大影响了软件开发效率。Visual Basic提供了可视化设计工具,把Windows界面设计的复杂性“封装”起来,开发人员不必为界面设计而编写大量程序代码。只需要按设计要求的屏幕布局,用系统提供的工具,在屏幕上画出各种“部件”,即图形对象,并设置这些图形对象的属性。Visual Basic自动产生界面设计代码,程序设计人员只需要编写实现程序功能的那部分代码,从而可以大大提高程序设计的效率。
面向对象的程序设计:4.0版以后的Visual Basic支持面向对象的程序设计,但它与一般的面向对象的程序设计语言(C++)不完全相同。在一般的面向对象程序设计语言中,对象由程序代码和数据组成,是抽象的概念;而Visual Basic则是应用面向对象的程序设计方法(OOP),把程序和数据封装起来作为一个对象,并为每个对象赋予应有的属性,使对象成为实在的东西。在设计对象时,不必编写建立和描述每个对象的程序代码,而是用工具画在界面上,Visual Basic自动生成对象的程序代码并封装起来。每个对象以图形方式显示在界面上,都是可视的。
结构化程序设计语言:Visual Basic是在BASIC语言的基础上发展起来的,具有高级程序设计语言的语句结构,接近于自然语言和人类的逻辑思维方式。Visual Basic语句简单易懂,其编辑器支持彩色代码,可自动进行语法错误检查,同时具有功能强大且使用灵活的调试器和编译器。
Visual Basic是解释型语言,在输入代码的同时,解释系统将高级语言分解翻译成计算机可以识别的机器指令,并判断每个语句的语法错误。在设计Visual Basic程序的过程中,随时可以运行程序,而在整个程序设计好之后,可以编译生成可执行文件(.EXE),脱离Visual Basic环境,直接在Windows环境下运行。
事件驱动编程机制:Visual Basic通过事件来执行对象的操作。一个对象可能会产生多个事件,每个事件都可以通过一段程序来响应。例如,命令按钮是一个对象,当用户单击该按钮时,将产生一个“单击“(CLICK)事件,而在产生该事件时将执行一段程序,用来实现指定的操作。
在用Visual Basic设计大型应用软件时,不必建立具有明显开始和结束的程序,而是编写若干个微小的子程序,即过程。这些过程分别面向不同的对象,由用户操作引发某个事件来驱动完成某种特定的功能,或者由事件驱动程序调用通用过程来执行指定的操作,这样可以方便编程人员,提高效率。
访问数据库:Visual Basic具有强大的数据库管理功能,利用数据控件和数据库管理窗口,可以直接建立或处理Microsoft Access格式的数据库,并提供了强大的数据存储和检索功能。同时,Visual Basic还能直接编辑和访问其他外部数据库,如dBASE,FoxPro,Paradox等,这些数据库格式都可以用 Visual Basic编辑和处理。
Visual Basic提供开放式数据连接,即ODBC功能,可通过直接访问或建立连接的方式使用并操作后台大型网络数据库,如SQL Server,Oracle等。在应用程序中,可以使用结构化查询语言SQL数据标准,直接访问服务器上的数据库,并提供了简单的面向对象的库操作指令和多用户数据库访问的加锁机制和网络数据库的SQL的编程技术,为单机上运行的数据库提供了SQL网络接口,以便在分布式环境中快速而有效地实现客户/服务器(client/server)方案。
动态数据交换(DDE):利用动态数据交换(Dynamic Data Exchange)技术,可以把一种应用程序中的数据动态地链接到另一种应用程序中,使两种完全不同的应用程序建立起一条动态数据链路。当原始数据变化时,可以自动更新链接的数据。Visual Basic提供了动态数据交换的编程技术,可以在应用程序中与其他Windows应用程序建立动态数据交换,在不同的应用程序之间进行通信。
对象的链接与嵌入(OLE):对象的链接与嵌入(OLE)将每个应用程序都看做是一个对象(object),将不同的对象链接(link)起来,再嵌入(embed)某个应用程序中,从而可以得到具有声音、影像、图像、动画、文字等各种信息的集合式的文件。OLE技术是Microsoft公司对象技术的战略,它把多个应用程序合为一体,将每个应用程序看做是一个对象进行链接和嵌入,是一种应用程序一体化的技术。利用OLE技术,可以方便地建立复合式文档(compound document),这种文档由来自多个不同应用程序的对象组成,文档中的每个对象都与原来的应用程序相联系,并可执行与原来应用程序完全相同的操作。
动态链接库(DLL):Visual Basic是一种高级程序设计语言,不具备低级语言的功能,对访问机器硬件的操作不太容易实现。但它可以通过动态链接库技术将C/C++或汇编语言编写的程序加入到Visual Basic应用程序中,可以像调用内部函数一样调用其他语言编写的函数。此外,通过动态链接库,还可以调用Windows应用程序接口(API)函数,实现SDK所具有的功能。
Access介绍
Access 2000是Microsoft强大的桌面数据库平台的第六代产品,是32位Access的第三个版本。Microsoft Access及其Jet数据库引擎可以说主宰着整个桌面数据库市场。Jesse Berst是ZDNet的专栏作家,“Windows Watcher”时事通讯的前任编辑,它在1998年初写道:“Corel公司的Paradox(另外一个桌面数据库系统)的末日来临了,也不会再有人使用dBase编程了。Microsoft的Access完成占领了这个市场。”
Access的成功大部分可以归结于微软将之包含在Microsoft Office专业版之中的策略。Access各个版本变得与其他Office车工能源集成得越来越紧密。Office 2000的所有成员和Visual Basic 6.0现在共享的是同样的Visual Basic for Application(VBA)版本6.0。Access 2000最后采纳了Office 2000 VBA编辑器用于编写VBA来自动操作 Access的应用。Access 2000还共享了Office 2000的HTML帮助系统。
数据库的基本概念
数据库是信息的仓库,一般情况下我们所讲到的数据库都是指关系型数据库,他具有以下的特点:
1. 在表中存储数据。表由行和列构成,行也称为记录(Record),列也称为字段(Field)。
2. 由于从表中检索(或者查询)数据的子集,这种查询可能是针对某一个表进行的,也可能是同时针对几个表进行的。
3. 能够将不同的表连接(或者联系)在一起,以便从不同的表中获取相关联的记录。
数据库的基本函数是由数据库引擎提供的,该引擎即为一个软件系统,用于管理数据如何存储和检索。程序中我们所使用的数据库引擎是Microsoft Jet。然而Jet并不是一个商业软件产品,而是由几个Microsoft产品公用的一个子系统。Microsoft最初在Visual Basic 3和Microsoft Access 1中应用了该引擎。自从其引入以后便不停的改进和扩展。目前我们主要使用的Jet3.51,它和Microsoft Access 2000和Visual Basic 6.0一同发行。
数据访问对象(DAO)
ActiveX数据对象(ADO)
Microsoft ActiveX Data Objects(ADO)是个类似于DAO的面向对象的数据库访问技术,踏实Microsoft的Universal Data Access的一部分,目的是让所有的数据源看起来是一样的,就像利用ODBC使所有的关系型数据源通用一样。
MIS系统介绍
MIS系统
管理信息系统(MIS)是一门边缘学科,集管理科学、信息科学、系统科学、现代通信技术和电子计算机技术于一体。1985年,管理信息系统创始人,明尼苏达大学卡尔森管理学院的著名教授戴维斯(Gordon.B.Davis)给出了一个具有代表性的定义:“管理信息系统是一个利用计算机硬件和软件,手工作业、分析、计划、控制和决策模型以及数据库的用户-机器系统。它能提供信息支持企业或组织的运行、管理和决策功能。”
随着网络技术的出现,管理信息系统又有了新的必恭必敬,基于网络的管理信息系统不断出现,管理信息系统的概念模型也发生了相应的变化,许多学者对管理信息系统给出了新的定义。例如劳顿认为:“管理信息系统是一个基于计算机的信息系统,它通过收集、处理、存储和扩散信息,来支持组织的管理、决策、合作、控制、分析活动,并使之可视化。”
因此,我们可以看出,管理系统具有几个基本含义:
(1)管理信息系统不是一个单纯的软件系统,而是一个人-机系统,由人和机器协同工作。管理信息系统在支持企业或组织的各项管理活动中,管理人员负责将基础数据及时地输入到计算机中,计算机则根据企业或组织中的各层管理人员的要求对基础数据进行加工处理,并将所得到的信息输出。计算机不断地与最终用户进行着信息的交换,但在对数据的加工处理过程中又需要人的适当干预。
(2)管理信息系统的管理过程就是对数据进行惧、存储、加工处理、传递,并产生信息的过程,因此数据是管理信息系统的灵魂。管理信息系统运用了数据库的技术,对基础数据进行统一规划、存储,供各层管理人员使用,从而实现了数据的一致和共享。
(3)管理信息系统可以解决企业或组织所面临的问题。例如,管理信息系统可以处理企业产生经营活动的全过程,可以解决组织中数据处理效率问题,也可以解决财务管理决策过程等。
管理信息系统应具有如下几个功能。
(1)数据处理功能:
数据处理是管理信息系统最基本的功能,它包括对各种类型数据的收集、加工处理、传递、存储等工作。
(2)实测功能:
通过对数据的加工处理,可以随时了解各部门的实际运行情况,如各生产车间今天生产的产品数量、销售部接受的订单等。
(3)预测功能:
通过运用一定的数学方法和预测模型,对过去的数据进行分析,就可能对未来可能发生的情况进行预测,为高级管理人员进行管理决策提供依据。
(4)控制功能:
通过信息的反馈可以对整个企业生产经营的各个部门、各个环节的运行情况进行监测、协调、控制,保证系统的正常运行。
(5)辅助决策功能:
通过对数据的加工处理,可以快速地获取对决策有影响的信息,从而为合理的配置企业的各项资源,做出最佳的决策提供科学的依据。
目前,管理信息系统的应用已经非常广泛,随着计算机技术、网络技术和通信技术的发展,管理信息系统的功能也日趋完善,并朝着智能化、网络化、集成化等方向发展。如办公自动化(OA)、电子商务(EC)、专家系统(ES)、计算机集成制造系统(CIMS)。
2、管理信息系统开发方法介绍
目前,常用的管理信息系统的开发方法有生命周期法、原型法和面对对象的开发方法。
下面仅对原型法和面对对象的开发方法进行简单的描述。
(1)原型法:
原型法(Prototyping Method)是20世纪80年代发展起来的,旨在改变生命周期法的缺点的一种系统开发方法。
①原型法的基本思想
首选根据用户的要求,由用户和开发者共同确定系统的基本要求和主要功能,利用系统快速生成工具,建立一个系统模型。再在此基础上与用户交流,将模型不断补充,修改完善,如此反复,最终直至用户和开发者都比较满意为止,就形成了一个相对稳定、较为理想的管理信息系统。
②原型法的开发过程
采用原型法开发管理信息系统可以分为如下几个阶段:
A、确定用户的基本需求。由用户提出对新系统的基本要求,如功能、基本界面形式、所需的数据、应用范围、运行环境等,开发者根据这些信息估算出开发该系统所需的费用,并建立简明的系统模型。
B、开发初步的原型系统。系统开发人员根据用户的要求建立原型系统,但该系统只是一个初步的、不成熟的系统,从系统的工作效率上看也是不完善的。其主要目的是为了描述开发者所理解的用户的基本需求。
C、修改、评价原型系统。将建造好的原型系统交给用户,并投入试运行,用户将使用过程中发现的问题一一记录下来,并与开发人员进行交流。开发人员针对这些问题不断地对系统进行修改、扩充与完善,直至用户满意为止。
D、形成最终的管理信息。对用户满意的原型系统进行进一步的开发,不断补充、完善,最终形成一个适用的管理信息系统。
③原型法的优缺点
原型法的优点是开发周期短,费用较少,同时可以较有效地避免因开发者和用户的认识隔阂所产生的失败,其缺点是系统的开发缺乏统一的规划和开发标准,难以对系统的开发过程加以控制。
原型法一般适用于开发规模不大、不太复杂或需求经常发生变化的系统。
(2)面向对象的开发方法
面向对象(Object Oriented)的技术于20世纪80年兴起,随后广泛地应用于计算机技术的几乎所有领域。面向对象的技术中最重要的概念是对象。
面向对象是基于问题对象的自底向上的一种系统开发方法。在开发过程中,分析和设计阶段独立于程序设计语言,信息系统模型设计好后,最终用具体的程序设计语言、数据库或硬件来实现。面向对象法最主要的特点是对对象为基础,对象是分析问题和解决问题的核心。
①面对对象法的开发过程
面对对象法的开发过程一般分为四个阶段:
A、认识客观世界(如一个企业)中的对象以及行为,分别独立设计各个对象的实体。
B、分析对象之间的联系和相互之间所传递的信息,由此构造客观世界(企业)所对应的信息管理系统的模型。
C、由信息系统的模型转换成计算机软件系统的模型。
D、由计算机软件系统的模型再转化成一个现实系统。
②面向对象法的优缺点:
面向对象法的优点是便于帮助分析者、设计者和用户清楚地表达抽象概念,互相进行交流;交流特定的软件工具模块,直接地完成了从对象的描述到软件体系结构之间的转换,避免了其它的方法在开发过程的客观世界描述和软件结构不一致性和复杂性问题,便利系统开发简单、统一,开发周期短,费用低。
面向对象法的主要缺点与原型法一样,因此这种方法也不适用于开发大的、复杂的系统。
本系统在开发过程中具体是采用了原型法和面向对象两种方法相结合的开发思路,力求在开发过程中尽量吸收这两种方法的长处,而克服它们的短处。
技术可行性分析
技术可行性分析主要包括四个方面:目前有关的技术能否支持所开发的新系统;新系统开发人员的数量和水平,即人力资源;硬件和软件资源。
(1)技术支持:
首先根据新系统的目标,考虑目前有关的技术能否支持所开发的新系统。这里讨论的技术必须是已经普遍使用的,而不是待研究的或正在研究的。
(2)硬件资源:
开发管理信息系统所需的硬件资源包含以下两个方面:系统开发人员在管理信息系统的开发过程中所需要的计算机设备及其有关的外部设备;管理信息系统开发成功投入使用后,使用单位所应具备的计算机设备及其有关的外围设备。对硬件资源进行可行性分析时主要考虑计算机的主机内存、类型、功能、联网能力、安全保护措施以及输入/输出设备,外存储器和联网数据通信设备的配置、功能、效率等指标是否符合系统方案设计要求,同时还要考虑计算机的性能/价格比。
(3)软件资源
软件资源的可行性分析主要考虑以下几点是否满足用户的要求:
①操作系统的选择;
②编译系统的选择;
③数据库管理系统的选择;
④高级编程语言的选择;
⑤汉字处理系统的选择;
⑥应用软件包的选择。
本系统在开发前,与相关的教学部门的领导和学科的教学教师密切沟通,认真听取他们的意见,并吸收他们的积极观点,使本系统的开发在相当大的程度上具有一定的先进性和合理性。
三、系统功能概述
系统中分为三大模块:登陆界面、主界面和新诗录入界面三个部分。因为不限制用户使用,所有对系统的操作都不需要通过系统登录。
(1)软件的设计思想及方法
该系统采用面向对象的程序设计方法,在程序设计阶段,充分利用Visual Basic语言的灵活性和强大的数据库访问能力。整个界面简洁清晰,易于操作。程序在改善操作上下了很大的功夫,使得系统操作更加人性化,更加方便。同时,程序在加入了大量的差错处理机制,因此程序的鲁棒性也很好。
1.软件的结构
在该系统中,分为三大主模块。登陆模块、主界面模块和新诗录入模块。
(1)登陆模块:提供为用户的登录、只有登录,并进入主界面的人员才能使用系统的功能。如果用户不想操作,那用户点击退出,来退出登录。
(2)主界面:提供了诗人查找和唐诗信息查询等功能。其中诗人查找和唐诗信息查询都是直接在对话框中进行选择,方便用户进行操作。
(3)新诗录入:提供了用户录入新诗的管理功能。
四、数据库设计
数据库采用了Microsoft推出的Access数据库,这是微软集成到Office中的一个桌面数据库,能够快速方便的和Office的其他套件综合使用。由于Access具有显著的简易性和有效性,大量的桌面数据库系统都采用Access作为后台数据库。使用Access的好处还在于,如果你的系统扩展到Client/Server模式的时候,可以使用Microsoft的数据库服务器软件SQL Server,此时,程序只需要简单的修改一下链接(ADO的数据源)就可以,这样,为程序的平滑扩展提供了非常有力的条件。
系统中包括2个表,名称及功能说明如下:
shi
唐诗管理表,定义诗名,以及诗的内容。
zuozhe
唐诗作者表,定义了唐诗的作者。
各个表结构如下:
图 1 shi的表结构
图 2 zuozhe表结构
五、软件详细设计
系统层次和功能图
层次结构图又称为组织机构图,系统必须设定要实现的功能。功能要以组织结构为背景来识别和调查,因为每个组织都是一个功能机构,都有各自不同的功能。调查时要按部门的层次关系进行,然后用归纳法找出它的功能,形成各层次的功能结构。组织结构与功能结构又不完全一致,各组织、各部门的功能,由于各种原因,有可能重叠,许多功能可能还需要多个部门协力完成。一个部门的功能也不能不是惟一的,可能需要完成多种功能,把各部门的功能以及相互之间的功能合作关系用一张二维表格绘制出来,就是组织/功能关系表。
以组织结构图为背景分析清楚各部门的功能后,分层次将其归纳、整理,形成各层次的功能结构图:自上而下逐层归纳、整理,形成以系统目标为核心的整个系统的功能结构图。现行的系统的许多功能多数由手工完成。手工处理慢,处理功能分得较细,环节又多,甚至由于某些历史原因造成一些不合理的处理设置。那么,在分析归纳过程中,就要把不合理的流程取消,把功能相信或工作顺序相近的处理功能尽量合并,还人分析归纳后的功能是否能达到新系统目标以及应设置的功能是否已经具备等。经分析后的系统功能结构一般是多层次的树型结构,一般最后一级功能是不能再分割的。
本系统的功能结构图如下:
程序按照三个模块的功能进行组织,下面我们按照操作顺序对程序的操作、界面的源程序进行详细说明。
启动
双击图标运行程序以后,就可以看到程序的主界面。由于这个时候还没有登陆系统,因此系统提示未登录。这是,需要通过系统管理菜单进行登录操作。
图 3 登陆界面
登录
系统进行登录时,此时系统开始显示登录窗口,当用户单击了菜单“进入”,则显示主界面窗口。
Private Sub Command1_Click()
Form1.Show
Form3.Hide
End Sub
Private Sub Command2_Click()
End
End Sub
程序首先显示form3窗口,由于这个窗口是打开的,因此如果用户只能关闭这个窗口后才能进行其他的操作。VB的窗口分成模块窗口和非模态窗口两种,普通情况下都是非模态窗口,但是多数对话框是模态窗口。
窗口的界面使用了二个“命令按钮”,这二个按钮要定义。
这里我们首先运行了form3窗体,然后根据form3窗体对用户信息的判断,由form3窗体设置“进入”命令按钮信息。如果点击进入,则显示主界面窗体。
主界面窗体
下面我们主要看主界面 窗体的操作。
图 4 主界面窗体
这里我们详细讲解主界面窗体的功能,因为这个过程中涉及到DAO数据库访问的全部过程,因此我们将着重介绍这些过程。
Private Sub Combo1_Click()
Combo2.Clear
'根据诗人组合框中的内容查询数据
Adodc1.RecordSource = "select * from shi where zuozhe='" & Combo1.Text & "'"
Adodc1.Refresh
'将诗名赋予诗名组合框
Do While Not Adodc1.Recordset.EOF
Combo2.AddItem (Adodc1.Recordset.Fields("shiming"))
Adodc1.Recordset.MoveNext
Loop
If Not Adodc1.Recordset.EOF Then
Adodc1.Recordset.MoveFirst
Combo2.Text = Adodc1.Recordset.Fields("shiming")
End If
Dim str As String
Adodc1.RecordSource = "select * from shi where shiming='" & Combo2.Text & "' and zuozhe='" & Combo1.Text & "'"
Adodc1.Refresh
'根据诗人和诗名选出内容并加入到text1中
If Not Adodc1.Recordset.EOF Then
If Adodc1.Recordset.Fields("neirong") <> "" Then
Text1.Text = Adodc1.Recordset.Fields("neirong")
Else
Text1.Text = ""
End If
End If
End Sub
Private Sub Combo2_Click()
Dim str As String
Adodc1.RecordSource = "select * from shi where shiming='" & Combo2.Text & "' and zuozhe='" & Combo1.Text & "'"
Adodc1.Refresh
If Not Adodc1.Recordset.EOF Then
If Adodc1.Recordset.Fields("neirong") <> "" Then
Text1.Text = Adodc1.Recordset.Fields("neirong")
Else
Text1.Text = ""
End If
End If
End Sub
Private Sub Command1_Click()
Form2.Show
End Sub
Private Sub Command2_Click()
'判断是否为空,如为空则退出
If (Combo1.Text = "") Or (Combo2.Text = "") Or (Text1.Text = "") Then
Exit Sub
End If
Adodc1.RecordSource = "select * from shi where zuozhe='" & Combo1.Text & "'"
Adodc1.Refresh
Do While Not Adodc1.Recordset.EOF
Adodc1.Recordset.Delete
Adodc1.Recordset.Update
Adodc1.Recordset.MoveNext
Loop
Adodc1.RecordSource = "select * from zuozhe where zuozhe='" & Combo1.Text & "'"
Adodc1.Refresh
Do While Not Adodc1.Recordset.EOF
Adodc1.Recordset.Delete
Adodc1.Recordset.Update
Adodc1.Recordset.MoveNext
Loop
Form1.Combo2.Clear
Form1.Combo1.Clear
Form1.Text1.Text = ""
Dim str As String '定义
str = App.Path
If Right(str, 1) <> "\" Then
str = str + "\"
End If
str = "Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=" & str & "\db1.mdb"
Form1.Adodc1.ConnectionString = str
Form1.Adodc1.CommandType = adCmdText
Form1.Adodc1.RecordSource = "select * from zuozhe"
Form1.Adodc1.Refresh
Do While Not Form1.Adodc1.Recordset.EOF
Form1.Combo1.AddItem (Form1.Adodc1.Recordset.Fields("zuozhe"))
Form1.Adodc1.Recordset.MoveNext
Loop
If Not Adodc1.Recordset.EOF Then
Form1.Adodc1.Recordset.MoveFirst
Form1.Combo1.Text = Form1.Adodc1.Recordset.Fields("zuozhe")
End If
End Sub
Private Sub Command3_Click()
If (Combo1.Text = "") Or (Combo2.Text = "") Or (Text1.Text = "") Then
Exit Sub
End If
Adodc1.RecordSource = "select * from shi where shiming='" & Combo2.Text & "' and zuozhe='" & Combo1.Text & "'"
Adodc1.Refresh
Do While Not Adodc1.Recordset.EOF
Adodc1.Recordset.Delete
Adodc1.Recordset.Update
Adodc1.Recordset.MoveNext
Loop
Adodc1.RecordSource = "select * from shi where zuozhe='" & Combo1.Text & "'"
Adodc1.Refresh
If Adodc1.Recordset.EOF Then
Adodc1.RecordSource = "select * from zuozhe where zuozhe='" & Combo1.Text & "'"
Adodc1.Refresh
Do While Not Adodc1.Recordset.EOF
Adodc1.Recordset.Delete
Adodc1.Recordset.Update
Adodc1.Recordset.MoveNext
Loop
End If
Form1.Combo2.Clear
Form1.Combo1.Clear
Form1.Text1.Text = ""
Dim str As String '定义
str = App.Path
If Right(str, 1) <> "\" Then
str = str + "\"
End If
str = "Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=" & str & "\db1.mdb"
Form1.Adodc1.ConnectionString = str
Form1.Adodc1.CommandType = adCmdText
Form1.Adodc1.RecordSource = "select * from zuozhe"
Form1.Adodc1.Refresh
Do While Not Form1.Adodc1.Recordset.EOF
Form1.Combo1.AddItem (Form1.Adodc1.Recordset.Fields("zuozhe"))
Form1.Adodc1.Recordset.MoveNext
Loop
If Not Adodc1.Recordset.EOF Then
Form1.Adodc1.Recordset.MoveFirst
Form1.Combo1.Text = Form1.Adodc1.Recordset.Fields("zuozhe")
End If
End Sub
Private Sub Command4_Click()
End
End Sub
Private Sub Form_Load()
Combo2.Clear
Combo1.Clear
Text1.Text = ""
Dim str As String '定义
str = App.Path '获取可执行文件的路径
If Right(str, 1) <> "\" Then
str = str + "\"
End If
'定义数据库连接字符串并打开数据集
str = "Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=" & str & "\db1.mdb"
Adodc1.ConnectionString = str
Adodc1.CommandType = a
展开阅读全文