




已阅读5页,还剩52页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
航空公司管理信息系统一个正常营运的航空公司需要管理所拥有的飞机、航线的设置、客户的信息等,更重要的还要提供票务管理。面对各种不同种类的信息,需要合理的数据库结构来保存数据信息以及有效的程序结构支持各种数据操作的执行。本设计讲述如何建立一个航空公司管理信息系统。一般而言,航空公司的管理信息系统应该包括人事、工资管理模块。1系统设计11系统功能分析系统开发的总体任务是实现各种信息的系统化、规范化和自动化。系统功能分析是在系统开发的总体任务的基础上完成。本例子中的航空公司管理信息系统需要完成功能主要有舱位信息的输入和修改,包括舱位等级编号、舱位等级名称、提供的各种服务类别,以及备注信息等。客机信息的输入、修改和查询,包括客机编号、客机型号、购买时间、服役时间、经济舱座位数量、公务舱座位数量、头等舱座位数量以及备注信息等。航线信息的输入、修改和查询,包括航线编号、出发城市、到达城市、航班日期、出发时间、到达时间、客机编号、经济舱价格、公务舱价格、头等舱价格和备注信息等。客户等级信息的输入、修改,包括客户等级编号、客户等级名称、折扣比例和备注信息等。客户信息的输入、修改和查询,包括客户编号、客户姓名、客户性别、身份证号码、联系电话、客户类型和备注信息等。订票信息的输入、查询和修改,包括订票编号、客户编号、客户姓名、客户类型、折扣比例、航线编号、出发城市、到达城市、出发时间、舱位类型、票价、结算金额和备注信息等。12系统功能模块设计对上述各项功能进行集中、分块,按照结构化程序设计的要求,得到如图91所示的系统功能模块图。图91系统功能模块图2数据库设计数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。设计数据库系统时应该首先充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求。数据库设计一般包括如下几个步骤数据库需要分析。数据库概念结构设计。数据库逻辑结构设计。21数据库需求分析用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入。收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。仔细分析调查有关航空公司管理信息需求的基础上,将得到如图92所示的本系统所处理的数据流程。图92航空公司管理信息系统数据流程图针对一般航空公司管理信息系统的需求,通过对航空公司管理工作过程的内容和数据流程分析,设计如下面所示的数据项和数据结构舱位等级信息,包括的数据项有舱位等级编号、舱位等级名称、是否有礼品、是否有报纸、是否有饮料、是否有午餐、是否有电影、是否可以改签、是否可以退票、是否可以打折、备注信息等。客机信息,包括的数据项有客机编号、客机型号、购买时间、服役时间、经济舱座位数量、公务舱座位数量、头等舱座位数量、备注信息等。航线信息,包括的数据项有航线编号、出发城市、到达城市、航班日期、出发时间、到达时间、客机编号、经济舱价格、公务舱价格、头等舱价格、备注信息等。客户类型信息,包括的数据项有客户类型编号、客户类型名称、折扣比例、备注信息等。客户信息,包括的数据项有客户编号、客户姓名、客户性别、身份证号码、联系电话、客户类型、备注信息等。订票信息,包括的数据项有订票编号、顾客编号、顾客姓名、顾客类型、折扣比例、航线编号、出发城市、到达城市、舱位类型、机票价格、结算金额、备注信息等。有了上面的数据结构、数据项和数据流程,我们就能进行下面的数据库设计。22数据库概念结构设计得到上面的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。本实例根据上面的设计规划出的实体有舱位等级信息实体、客机信息实体、航线信息实体、客户类型信息实体、客户信息实体、订票信息实体。各个实体具体的描述ER图如下。舱位等级信息实体ER图如图93所示。图93舱位等级信息实体ER图客机信息实体ER图如图94所示。图94客机信息实体ER图航线信息实体ER图如图95所示。图95航线信息实体ER图客户类型信息实体ER图如图96所示。图96客户类型信息实体ER图客户信息实体ER图如图97所示。图97客户信息实体ER图订票信息实体ER图如图98所示。图98订票信息实体ER图实体之间关系的ER图如图99所示。图99实体之间关系的ER图23数据库逻辑结构设计现在需要将上面的数据库概念结构转化为SQLSERVER2000数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。航空公司管理信息系统数据库中各个表格的设计结果如下面表格所示。每个表格表示在数据库中的一个表。表91为供应商信息表。表91SERVICEINFO舱位等级信息表列名数据类型可否为空说明SERVICENOCHARNOTNULL舱位等级编号SERVICENAMENVARCHARNULL舱位等级名称NOPRESENTCHARNULL是否有礼物NONEWSPAPERCHARNULL是否有报纸NODRINKCHARNULL是否有饮料NOFOODCHARNULL是否有午餐NOMOVIECHARNULL是否有电影CANCHANGECHARNULL是否可以改签CANCANCELCHARNULL是否可以退票CANDISCOUNTCHARNULL是否可以打折SERVICEMEMOTEXTNULL备注信息表92为顾客信息表格。表92PLANEINFO客机信息表格列名数据类型可否为空说明PLANENOCHARNOTNULL客机编号PLANETYPECHARNULL客机型号BUYDATEDATETIMENULL购买日期SERVEDATEDATETIMENULL服役日期ISCOMMONNVARCHARNULL经济舱座位数量ISCOMMERCIALNVARCHARNULL公务舱座位数量ISFIRSTNVARCHARNULL头等舱座位数量PLANEMEMOTEXTNULL备注信息表93为航线信息表。表93AIRLINEINFO航线信息表列名数据类型可否为空说明AIRLINENOCHARNOTNULL航线编号DEPARTCITYNVARCHARNULL出发城市ARRIVALCITYNVARCHARNULL到达城市DEPARTDATECHARNULL航班日期DEPARTTIMECHARNULL出发时间ARRIVALTIMECHARNULL到达时间PLANENOCHARNULL客机编号COMMONPRICENUMERICNULL经济舱价格COMMERCIALPRICENUMERICNULL公务舱价格FIRSTPRICENUMERICNULL头等舱价格AIRLINEMEMOTEXTNULL备注信息表94为客户类型信息表格。表94CUSTOMERTYPE客户类型信息表列名数据类型可否为空说明CTYPENOCHARNOTNULL客户类型编号CTYPENAMECHARNULL客户类型名称DISCOUNTNUMERICNULL折扣比例续表列名数据类型可否为空说明CTYPEMEMOTEXTNULL备注表95为客户信息表格。表95CUSTOMERINFO客户信息表列名数据类型可否为空说明CUSTOMERNOCHARNOTNULL客户编号CUSTOMERNAMECHARNULL客户姓名CUSTOMERSEXCHARNULL客户性别CUSTOMERIDCHARNULL身份证号码CUSTOMERTELECHARNULL客户联系电话CUSTOMERTYPECHARNULL客户类型CUSTOMERMEMOTEXTNULL备注表96为订票信息表格。表96TICKETINFO订票信息表列名数据类型可否为空说明TICKETNOCHARNOTNULL订票编号CUSTOMERNOCHARNULL客户编号CUSTOMERNAMECHARNULL客户姓名CUSTOMERTYPECHARNULL客户类型DISCOUNTNUMERICNULL折扣比例AIRLINENOCHARNULL航线编号DEPARTCITYNVARCHARNULL出发城市ARRIVALCITYNVARCHARNULL到达城市TICKETDATEDATETIMENULL出发日期SERVICETYPECHARNULL舱位类型TICKETPRICENUMERICNULL机票价格TICKETSUMNUMERICNULL结算金额CUSTOMERMEMOTEXTNULL备注3数据库结构的实现经过前面的需求分析和概念结构设计以后,得到数据库的逻辑结构。现在就可以在SQLSERVER2000数据库系统中实现该逻辑结构。这是利用SQLSERVER2000数据库系统中的SQL查询分析器实现的。下面给出创建这些表格的SQL语句。31创建系统用户表CREATETABLEDBOUSER_INFO1USER_IDCHAR10COLLATECHINESE_PRC_CI_ASNOTNULL,USER_PWDCHAR10COLLATECHINESE_PRC_CI_ASNULL,USER_DESCHAR10COLLATECHINESE_PRC_CI_ASNULLONPRIMARY32创建舱位等级信息表CREATETABLEDBOSERVICEINFOSERVICENOCHAR4COLLATECHINESE_PRC_CI_ASNOTNULL,SERVICENAMENVARCHAR20COLLATECHINESE_PRC_CI_ASNULL,NOPRESENTCHAR2COLLATECHINESE_PRC_CI_ASNULL,NONEWSPAPERCHAR2COLLATECHINESE_PRC_CI_ASNULL,NODRINKCHAR2COLLATECHINESE_PRC_CI_ASNULL,NOFOODCHAR2COLLATECHINESE_PRC_CI_ASNULL,NOMOVIECHAR2COLLATECHINESE_PRC_CI_ASNULL,CANCHANGECHAR2COLLATECHINESE_PRC_CI_ASNULL,CANCANCELCHAR2COLLATECHINESE_PRC_CI_ASNULL,CANDISCOUNTCHAR2COLLATECHINESE_PRC_CI_ASNULL,SERVICEMEMOTEXTCOLLATECHINESE_PRC_CI_ASNULLONPRIMARYTEXTIMAGE_ONPRIMARY33创建客机信息表CREATETABLEDBOPLANEINFOPLANENOCHAR18COLLATECHINESE_PRC_CI_ASNOTNULL,PLANETYPECHAR20COLLATECHINESE_PRC_CI_ASNULL,BUYDATEDATETIMENULL,SERVEDATEDATETIMENULL,ISCOMMONNVARCHAR20COLLATECHINESE_PRC_CI_ASNULL,ISCOMMERCIALNVARCHAR20COLLATECHINESE_PRC_CI_ASNULL,ISFIRSTNVARCHAR20COLLATECHINESE_PRC_CI_ASNULL,PLANEMEMOTEXTCOLLATECHINESE_PRC_CI_ASNULLONPRIMARYTEXTIMAGE_ONPRIMARY34创建航线信息表CREATETABLEDBOAIRLINEINFOAIRLINENOCHAR14COLLATECHINESE_PRC_CI_ASNOTNULL,DEPARTCITYNVARCHAR50COLLATECHINESE_PRC_CI_ASNULL,ARRIVALCITYNVARCHAR50COLLATECHINESE_PRC_CI_ASNULL,DEPARTDATECHAR10COLLATECHINESE_PRC_CI_ASNULL,DEPARTTIMECHAR10COLLATECHINESE_PRC_CI_ASNULL,ARRIVALTIMECHAR10COLLATECHINESE_PRC_CI_ASNULL,PLANENOCHAR18COLLATECHINESE_PRC_CI_ASNULL,COMMONPRICENUMERIC18,2NULL,COMMERCIALPRICENUMERIC18,2NULL,FIRSTPRICENUMERIC18,2NULL,AIRLINEMEMOTEXTCOLLATECHINESE_PRC_CI_ASNULLONPRIMARYTEXTIMAGE_ONPRIMARY35创建客户类型信息表CREATETABLEDBOCUSTOMERTYPECTYPENOCHAR14COLLATECHINESE_PRC_CI_ASNOTNULL,CTYPENAMECHAR20COLLATECHINESE_PRC_CI_ASNULL,DISCOUNTNUMERIC2,0NULL,CTYPEMEMOTEXTCOLLATECHINESE_PRC_CI_ASNULLONPRIMARYTEXTIMAGE_ONPRIMARY36创建客户信息表CREATETABLEDBOCUSTOMERINFOCUSTOMERNOCHAR14COLLATECHINESE_PRC_CI_ASNOTNULL,CUSTOMERNAMECHAR50COLLATECHINESE_PRC_CI_ASNULL,CUSTOMERSEXCHAR2COLLATECHINESE_PRC_CI_ASNULL,CUSTOMERIDCHAR18COLLATECHINESE_PRC_CI_ASNULL,CUSTOMERTELECHAR20COLLATECHINESE_PRC_CI_ASNULL,CUSTOMERTYPECHAR14COLLATECHINESE_PRC_CI_ASNULL,CUSTOMERMEMOTEXTCOLLATECHINESE_PRC_CI_ASNULLONPRIMARYTEXTIMAGE_ONPRIMARY37创建订票信息表CREATETABLEDBOTICKETINFOTICKETNOCHAR14COLLATECHINESE_PRC_CI_ASNOTNULL,CUSTOMERNOCHAR14COLLATECHINESE_PRC_CI_ASNULL,CUSTOMERNAMECHAR50COLLATECHINESE_PRC_CI_ASNULL,CUSTOMERTYPECHAR14COLLATECHINESE_PRC_CI_ASNULL,DISCOUNTNUMERIC18,0NULL,AIRLINENOCHAR14COLLATECHINESE_PRC_CI_ASNULL,DEPARTCITYNVARCHAR50COLLATECHINESE_PRC_CI_ASNULL,ARRIVALCITYNVARCHAR50COLLATECHINESE_PRC_CI_ASNULL,TICKETDATEDATETIMENULL,SERVICETYPENVARCHAR20COLLATECHINESE_PRC_CI_ASNULL,TICKETPRICENUMERIC18,2NULL,TICKETSUMNUMERIC18,2NULL,TICKETMEMOTEXTCOLLATECHINESE_PRC_CI_ASNULLONPRIMARYTEXTIMAGE_ONPRIMARY4航空公司管理信息系统主窗体的创建上面的SQL语句在SQLSERVER2000中查询分析器的执行,将自动产生需要的所有表格。有关数据库结构的所有后台工作已经完成。现在将通过航空公司管理信息系统中各个功能模块的实现,讲解如何使用VISUALBASIC来编写数据库系统的客户端程序。41创建工程项目MIS_TICKET启动VISUALBASIC后,单击FILE|NEWPROJECT菜单,在工程模板中选择STANDARDEXE,VISUALBASIC将自动产生一个FORM窗体,属性都是缺省设置。这里我们删除这个窗体,单击FILE|SAVEPROJECT菜单,将这个工程项目命名为MIS_TICKET。42创建航空公司管理信息系统的主窗体这个项目我们使用多文档界面,单击工具栏中的ADDMDIFORM按钮,产生一个窗体。在这个窗体上添加所需的控件,窗体和控件的属性设置见表97。创建好的窗体如图910所示。表97主窗体及其控件属性设置控件属性属性取值NAMEFRMMAINCAPTION大唐航空公司信息管理系统STARTUPPOSITONCENTERSCREENFRMMAINFORMWINDOWSTATEMAXIMIZEDNAMESBSTATUSBARPANELS1STYLESBRTEXTPANELS2STYLESBRDATESBSTATUSBARSTATUSBARPANELS3STYLESBRTIME图910航空公司管理信息系统主窗体在主窗体中加入状态栏控件,可以实时反映系统中的各个状态的变化。状态栏控件需要在通常的属性窗口中设置一般属性,还需要在其特有的弹出式菜单中进行设置。选中状态栏控件,单击鼠标右键,选中PROPERTY菜单,然后设置属性。面板1用来显示各种文本信息,面板2用来显示当前日期,面板3用来显示当前时间。43创建主窗体的菜单在如图910所示的主窗体中,单击鼠标右键,选择弹出式菜单中的MENUEDITOR,创建如图911所示的菜单结构图911主窗体中的菜单结构44创建公用模块在VISUALBASIC中可以用公用模块来存放整个工程项目公用的函数、过程和全局变量等。这样可以极大地提高代码的效率。在项目资源管理器中为项目添加一个MODULE,保存为MODULE1BAS。下面就可以开始添加需要的代码了。由于系统中各个功能模块都将频繁使用数据库中的各种数据,因此需要一个公共的数据操作函数,用以执行各种SQL语句。添加函数EXECUTESQL,代码如下PUBLICFUNCTIONEXECUTESQLBYVALSQL_ASSTRING,MSGSTRINGASSTRING_ASADODBRECORDSET执行SQL语句,并返回记录集对象声明一个连接DIMCNNASADODBCONNECTION声明一个数据集对象DIMRSTASADODBRECORDSETDIMSTOKENSASSTRING异常处理ONERRORGOTOEXECUTESQL_ERROR用SPLIT函数产生一个包含各个子串的数组STOKENSSPLITSQL创建一个连接SETCNNNEWADODBCONNECTION打开连接CNNOPENCONNECTSTRINGIFINSTR“INSERT,DELETE,UPDATE“,_UCASESTOKENS0THEN执行查询语句CNNEXECUTESQLMSGSTRINGSTOKENS0UIDSAPWD“ENDFUNCTION在录入有关信息时,需要回车来进入下一个文本框,这样对软件使用者非常方便。在所有的功能模块都需要这个函数,所以将它放在公用模块中,代码如下PUBLICSUBENTERTOTABKEYASCASINTEGER判断是否为回车键IFKEYASC13THEN转换成TAB键SENDKEYS“TAB“ENDIFENDSUBKEYASC用来保存当前按键,SENDKEYS函数用来指定的按键。一旦按下回车键,将返回TAB键,下一个控件自动获得输入焦点。添加全局变量,用来记录各个功能模块的读写状态,代码如下PUBLICGINTSMODEASINTEGER记载舱位等级功能模块的读写状态PUBLICGINTPMODEASINTEGER记载客机信息模块的读写状态PUBLICGINTAMODEASINTEGER记载航线信息模块的读写状态PUBLICGINTTMODEASINTEGER记载客户类型模块的读写状态PUBLICGINTCMODEASINTEGER记载客户信息模块的读写状态PUBLICGINTKMODEASINTEGER记载订票信息模块的读写状态这些全局变量用来记录是添加状态还是修改状态,赋值1为添加,赋值2为修改。由于航空公司管理信息管理系统启动后,需要对用户进行判断。如果登录者是授权用户,将进入系统,否则将停止程序的执行。这个判断需要在系统运行的最初进行,因此将代码放在公用模块中。5系统用户管理模块的创建用户管理模块主要实现用户登录。添加用户。修改用户密码。6舱位信息管理模块的创建舱位信息管理模块主要实现如下功能添加舱位信息。修改舱位信息。删除舱位信息。61显示舱位信息窗体的创建选择“航线信息管理|舱位信息”菜单,将出现如图912所示的窗体。图912舱位等级信息窗体这个窗体用来显示舱位等级信息,并且可以对各条记录进行操作。在载入窗体时,程序将自动载入所有记录,代码如下PRIVATESUBMENUCARBIN_CLICKFRMSERVICETXTSQL“SELECTFROMSERVICEINFO“FRMSERVICESHOW0ENDSUB窗体的SHOW方法后面加上0或者1,可以得到不同的窗体显示方式。参数为0时,显示的窗体为无模式形式,窗体切换时不需要进行其他操作;参数为1时,显示的窗体为有模式形式,窗体切换时必须进行相关操作。载入窗体时将自动显示各条记录,代码如下PRIVATESUBFORM_LOADSHOWTITLESHOWDATAENDSUB函数SHOWTITLE用来显示表头,代码如下PRIVATESUBSHOWTITLEDIMIASINTEGERWITHMSGLISTCOLS12TEXTMATRIX0,1“等级编号“TEXTMATRIX0,2“机舱等级“TEXTMATRIX0,3“是否有礼品“TEXTMATRIX0,4“是否有报纸“TEXTMATRIX0,5“是否有饮料“TEXTMATRIX0,6“是否有午餐“TEXTMATRIX0,7“是否提供电影“TEXTMATRIX0,8“是否可以改签“TEXTMATRIX0,9“是否可以退票“TEXTMATRIX0,10“是否可以打折“TEXTMATRIX0,11“备注信息“固定表头FIXEDROWS1设置各列的对齐方式FORI0TO11COLALIGNMENTI0NEXTI表头项居中FILLSTYLEFLEXFILLREPEATCOL0ROW0ROWSEL1COLSELCOLS1CELLALIGNMENT4设置单元大小COLWIDTH01000COLWIDTH11000COLWIDTH22000COLWIDTH31000COLWIDTH41000COLWIDTH51000COLWIDTH61000COLWIDTH71000COLWIDTH81000COLWIDTH91000COLWIDTH101000COLWIDTH111000ROW1ENDWITHENDSUB函数SHOWDATA把各条记录加到表格中,并显示出来,代码如下PRIVATESUBSHOWDATADIMJASINTEGERDIMIASINTEGERDIMMSGTEXTASSTRING获得数据集SETMRCEXECUTESQLTXTSQL,MSGTEXTWITHMSGLISTROWS1判断是否为空DOWHILENOTMRCEOF移动到下一行ROWSROWS1循环FORI1TOMRCFIELDSCOUNT判断是否为空IFNOTISNULLTRIMMRCFIELDSI1THEN根据数据类型显示SELECTCASEMRCFIELDSI1TYPECASEADDBDATETEXTMATRIXROWS1,IFORMATMRCFIELDSI1“,“YYYYMMDD“CASEELSETEXTMATRIXROWS1,IMRCFIELDSI1“ENDSELECTENDIFNEXTI移动到下一条记录MRCMOVENEXTLOOPENDWITH关闭数据集对象MRCCLOSEENDSUB在窗体显示时,可以控制窗体中各个控件按照要求的位置显示。可以在窗体的RESIZE事件中加入代码,代码如下PRIVATESUBFORM_RESIZE判断当前窗体所处的状态,当前窗体不处于最小化状态并且主窗体不处于最小化状态时进行后面的操作IFMEWINDOWSTATEVBMINIMIZEDANDFMAINFORMWINDOWSTATEVBMINIMIZEDTHEN边界处理IFMESCALEHEIGHT“TRIMTXTITEM0“ANDSERVICENAME“TRIMTXTITEM1“SETMRCEXECUTESQLTXTSQL,MSGTEXTIFMRCEOFFALSETHENMSGBOX“已经存在相同机舱等级的记录“,VBOKONLYVBEXCLAMATION,“警告“TXTITEM1SETFOCUSEXITSUBENDIF先删除已有记录TXTSQL“DELETEFROMSERVICEINFOWHERESERVICENO“TRIMTXTITEM0“SETMRCEXECUTESQLTXTSQL,MSGTEXT再加入新记录TXTSQL“SELECTFROMSERVICEINFO“SETMRCEXECUTESQLTXTSQL,MSGTEXTMRCADDNEWFORINTCOUNT0TO1MRCFIELDSINTCOUNTTRIMTXTITEMINTCOUNTNEXTINTCOUNTFORINTCOUNT0TO7MRCFIELDSINTCOUNT2TRIMCOMBO1INTCOUNTNEXTINTCOUNTMRCFIELDS10TRIMTXTITEM2更新数据集内容MRCUPDATE关闭数据集内容MRCCLOSEIFGINTSMODE1THENMSGBOX“添加记录成功“,VBOKONLYVBEXCLAMATION,“添加记录“FORINTCOUNT0TO1TXTITEMINTCOUNT“NEXTINTCOUNTFORINTCOUNT0TO3COMBO1INTCOUNTLISTINDEX0NEXTINTCOUNTTXTITEM2“MBLCHANGEFALSEUNLOADFRMSERVICEFRMSERVICETXTSQL“SELECTFROMSERVICEINFO“FRMSERVICESHOWELSEIFGINTSMODE2THENUNLOADMEUNLOADFRMSERVICEFRMSERVICETXTSQL“SELECTFROMSERVICEINFO“FRMSERVICESHOWENDIFENDSUB63修改舱位等级信息在舱位等级信息列表中选择需要修改的记录,然后单击“修改”按钮,将出现如图913所示的窗体。选择记录的内容将显示在窗体中,可以进行修改,最后保存修改后的记录。代码如下PRIVATESUBCMDMODIFY_CLICKDIMINTCOUNTASINTEGER判断列表中是否有记录IFFRMSERVICEMSGLISTROWS1THEN改变状态变量GINTSMODE2记录选择记录位置INTCOUNTMSGLISTROWIFINTCOUNT0THENFRMSERVICE1TXTSQL“SELECTFROMSERVICEINFOWHERESERVICENO“TRIMMSGLISTTEXTMATRIXINTCOUNT,1“FRMSERVICE1SHOW1ELSEMSGBOX“警告“,VBOKONLYVBEXCLAMATION,“请首先选择需要修改的记录“ENDIFENDIFENDSUB64删除舱位等级信息在舱位等级信息列表中选择需要删除的记录,然后单击“删除”按钮,将删除当前记录,代码如下PRIVATESUBCMDDELETE_CLICKDIMTXTSQLASSTRINGDIMINTCOUNTASINTEGERDIMMRCASADODBRECORDSETDIMMSGTEXTASSTRING判断信息列表中内容是否为空IFMSGLISTROWS1THEN提示信息IFMSGBOX“真的要删除机舱等级为“TRIMMSGLISTTEXTMATRIXMSGLISTROW,2“的记录吗“,VBOKCANCELVBEXCLAMATION,“警告“VBOKTHEN记录选择记录位置INTCOUNTMSGLISTROW删除重复记录TXTSQL“DELETEFROMSERVICEINFOWHERESERVICENO“TRIMMSGLISTTEXTMATRIXINTCOUNT,1“SETMRCEXECUTESQLTXTSQL,MSGTEXT卸载窗体UNLOADFRMSERVICE重新载入记录并显示FRMSERVICETXTSQL“SELECTFROMSERVICEINFO“FRMSERVICESHOWENDIFENDIFENDSUB7客机信息管理模块的创建客机信息管理模块主要实现如下功能添加客机信息。修改客机信息。删除客机信息。查询客机信息。71显示客机信息窗体的创建选择“航线信息管理|客机信息”菜单,将出现如图914所示的窗体。所有客机信息都将显示出来。窗体的LOAD事件调用SHOWTITLE、SHOWDATA函数,将所有记录显示出来。图914显示客机信息列表窗体72添加客机信息窗体的创建单击客机信息列表中的“添加”按钮,将出现如图915所示的窗体。图915添加客机信息列表输入内容完毕,单击“保存”按钮,将首先判断输入内容是否满足要求,然后将记录添加到数据库中,代码如下PRIVATESUBCMDSAVE_CLICKDIMINTCOUNTASINTEGERDIMSMEGASSTRINGDIMMSGTEXTASSTRING判断输入内容是否为空FORINTCOUNT0TO6IFTRIMTXTITEMINTCOUNT“THENSELECTCASEINTCOUNTCASE0SMEG“客机编号“CASE1SMEG“客机型号“CASE2SMEG“购买时间“CASE3SMEG“服役时间“CASE4SMEG“经济舱座位数量“CASE5SMEG“公务舱座位数量“CASE6SMEG“头等舱座位数量“ENDSELECTSMEGSMEG“不能为空“MSGBOXSMEG,VBOKONLYVBEXCLAMATION,“警告“TXTITEMINTCOUNTSETFOCUSEXITSUBENDIFNEXTINTCOUNT判断输入内容为数字FORINTCOUNT4TO6IFNOTISNUMERICTRIMTXTITEMINTCOUNTTHENSMEG“座位数量“SMEGSMEG“请输入数字“MSGBOXSMEG,VBOKONLYVBEXCLAMATION,“警告“TXTITEMINTCOUNTSETFOCUSENDIFNEXTINTCOUNT判断输入内容是否为日期FORINTCOUNT2TO3IFISDATETXTITEMINTCOUNTTHENTXTITEMINTCOUNTFORMATTXTITEMINTCOUNT,“YYYYMMDD“ELSEMSGBOX“时间应输入日期(YYYYMMDD)“,VBOKONLYVBEXCLAMATION,“警告“TXTITEMINTCOUNTSETFOCUSEXITSUBENDIFNEXTINTCOUNT添加判断是否有相同的ID记录IFGINTPMODE1THENTXTSQL“SELECTFROMPLANEINFOWHEREPLANENO“TRIMTXTITEM0“SETMRCEXECUTESQLTXTSQL,MSGTEXTIFMRCEOFFALSETHENMSGBOX“已经存在此编号的记录“,VBOKONLYVBEXCLAMATION,“警告“TXTITEM0SETFOCUSEXITSUBENDIFMRCCLOSEENDIF先删除已有记录TXTSQL“DELETEFROMPLANEINFOWHEREPLANENO“TRIMTXTITEM0“SETMRCEXECUTESQLTXTSQL,MSGTEXT再加入新记录TXTSQL“SELECTFROMPLANEINFO“SETMRCEXECUTESQLTXTSQL,MSGTEXTMRCADDNEWFORINTCOUNT0TO7MRCFIELDSINTCOUNTTRIMTXTITEMINTCOUNTNEXTINTCOUNT更新数据集MRCUPDATE关闭数据集对象MRCCLOSEIFGINTPMODE1THENMSGBOX“添加记录成功“,VBOKONLYVBEXCLAMATION,“添加记录“FORINTCOUNT0TO7TXTITEMINTCOUNT“NEXTINTCOUNTMBLCHANGEFALSEUNLOADFRMPLANEFRMPLANETXTSQL“SELECTFROMPLANEINFO“FRMPLANESHOWELSEIFGINTPMODE2THENUNLOADMEUNLOADFRMPLANEFRMPLANETXTSQL“SELECTFROMPLANEINFO“FRMPLANESHOWENDIFENDSUB73修改客机信息在客机信息列表中选择记录,然后单击“修改”按钮。当前记录将显示在如图915所示的窗体中,可以进行修改。代码如下PRIVATESUBCMDMODIFY_CLICKDIMINTCOUNTASINTEGER判断列表内容是否为空IFFRMPLANEMSGLISTROWS1THENGINTPMODE2记载选择记录的位置INTCOUNTMSGLISTROWIFINTCOUNT0THENFRMPLANE1TXTSQL“SELECTFROMPLANEINFOWHEREPLANENO“TRIMMSGLISTTEXTMATRIXINTCOUNT,1“FRMPLANE1SHOW1ELSEMSGBOX“警告“,VBOKONLYVBEXCLAMATION,“请首先选择需要修改的记录“ENDIFENDIFENDSUB74删除客机信息在客机信息列表中选择记录,然后单击“删除”按钮,当前记录将被删除。代码如下PRIVATESUBCMDDELETE_CLICKDIMTXTSQLASSTRINGDIMINTCOUNTASINTEGERDIMMRCASADODBRECORDSETDIMMSGTEXTASSTRING判断列表内容是否为空IFMSGLISTROWS1THENIFMSGBOX“真的要删除客机编号为“TRIMMSGLISTTEXTMATRIXMSGLISTROW,1“的型号为“TRIMMSGLISTTEXTMATRIXMSGLISTROW,2“的客机记录吗“,VBOKCANCELVBEXCLAMATION,“警告“VBOKTHEN记载选择记录的位置INTCOUNTMSGLISTROWTXTSQL“DELETEFROMPLANEINFOWHEREPLANENO“TRIMMSGLISTTEXTMATRIXINTCOUNT,1“SETMRCEXECUTESQLTXTSQL,MSGTEXTUNLOADFRMPLANE重新载入所有记录,并显示出来FRMPLANETXTSQL“SELECTFROMPLANEINFO“FRMPLANESHOWENDIFENDIFENDSUB75查询客机信息在客机信息列表中单击“查询”按钮,将出现如图916所示的窗体。图916查询客机信息的窗体载入窗体时,将自动加入所有客机编号和客机型号的信息,代码如下PRIVATESUBFORM_LOADDIMIASINTEGERDIMSSQLASSTRINGDIMTXTSQLASSTRINGDIMMSGTEXTASSTRINGDIMMRCASADODBRECORDSET清楚各个列表框中的内容FORI0TO1COMBO1ICLEARNEXTI选择数据库中所有客机编号的内容TXTSQL“SELECTDISTINCTPLANENOFROMPLANEINFO“SETMRCEXECUTESQLTXTSQL,MSGTEXT判断数据库是否为空IFNOTMRCEOFTHENDOWHILENOTMRCEOFCOMBO10ADDITEMTRIMMRCFIELDS0MRCMOVENEXTLOOPELSEMSGBOX“请先进行客机信息设置“,VBOKONLYVBEXCLAMATION,“警告“EXITSUBENDIFMRCCLOSE选择所有数据库中有关飞机型号的内容TXTSQL“SELECTDISTINCTPLANETYPEFROMPLANEINFO“SETMRCEXECUTESQLTXTSQL,MSGTEXT判断数据集对象是否为空IFNOTMRCEOFTHENDOWHILENOTMRCEOFCOMBO11ADDITEMTRIMMRCFIELDS0MRCMOVENEXTLOOPELSEMSGBOX“请先进行客机信息设置“,VBOKONLYVBEXCLAMATION,“警告“EXITSUBENDIF关闭数据集对象MRCCLOSEENDSUB设置完查询内容和方式后,单击CMDOK按钮将进行查询。所有满足条件的记录将显示在如图914所示的窗体中,代码如下PRIVATESUBCMDOK_CLICKDIMSQSQLASSTRING判断是否按照客机编号查询IFCHKITEM0VALUEVBCHECKEDTHENSQSQL“PLANENO“TRIMCOMBO10“ENDIF判断是否按照客机型号查询IFCHKITEM1VALUEVBCHECKEDTHENIFTRIMSQSQL“THENSQSQL“PLANETYPE“TRIMCOMBO11“ELSESQSQLSQSQL“ANDPLANETYPE“TRIMCOMBO11“ENDIFENDIF判断查询内容是否为空IFTRIMSQSQL“THENMSGBOX“请设置查询条件“,VBOKONLYVBEXCLAMATION,“警告“MEHIDEEXITSUBELSE显示所有满足查询条件的内容FRMPLANETXTSQL“SELECTFROMPLANEINFOWHERE“SQSQLMEHIDEUNLOADFRMPLANEFRMPLANESHOWENDIFENDSUB8航线信息管理模块的创建航线信息管理模块主要实现如下功能添加航线信息。修改航线信息。删除航线信息。查询航线信息。81显示航线信息窗体的创建选择“航线信息管理|航线信息”菜单,将出现如图917所示的窗体。所有航线信息都将显示出来。窗体的LOAD事件调用SHOWTITLE、SHOWDATA函数,将所有记录显示出来。图917显示客机信息窗体82添加航线信息窗体的创建选择“航线信息管理|航线信息”菜单,将出现如图918所示的窗体,用来添加航线信息。图918添加航线窗体输入完航线信息后,单击“保存”按钮程序首先检查输入内容是否符合要求,然后检查是否有重复记录,最后添加到数据库中。83修改航线信息在航线信息列表中选择记录,然后单击“修改”按钮。当前记录将显示在如图918所示的窗体中,可以进行修改。代码如下PRIVATESUBCMDMODIFY_CLICKDIMINTCOUNTASINTEGER判断列表内容是否为空IFFRMAIRLINEMSGLISTROWS1THENGINTAMODE2记载选择记录的位置INTCOUNTMSGLISTROWIFINTCOUNT0THENFRMAIRLINE1TXTSQL“SELECTFROMAIRLINEINFOWHEREAIRLINENO“TRIMMSGLISTTEXTMATRIXINTCOUNT,1“FRMAIRLINE1SHOW1ELSEMSGBOX“警告“,VBOKONLYVBEXCLAMATION,“请首先选择需要修改的记录“ENDIFENDIFENDSUB84删除航线信息在航线信息列表中选择记录,然后单击“删除”按钮,当前记录将被删除。代码如下PRIVATESUBCMDDELETE_CLICKDIMTXTSQLASSTRINGDIMINTCOUNTASINTEGERDIMMRCASADODBRECORDSETDIMMSGTEXTASSTRING判断列表内容是否为空IFMSGLISTROWS1THENIFMSGBOX“真的要删除“TRIMMSGLISTTEXTMATRIXMSGLISTROW,4“从“TRIMMSGLISTTEXTMATRIXMSGLISTROW,2“出发到“TRIMMSGLISTTEXTMATRIXMSGLISTROW,3“的航线记录吗“,VBOKCANCELVBEXCLAMATION,“警告“VBOKTHEN记载选择记录位置INTCOUNTMSGLISTROWTXTSQL“DELETEFROMAIRLINEINFOWHEREAIRLINENO“TRIMMSGLISTTEXTMATRIXINTCOUNT,1“SETMRCEXECUTESQLTXTSQL,MSGTEXT重新载入记录并显示UNLOADFRMAIRLINEFRMAIRLINETXTSQL“SELECTFROMAIRLINEINFO“FRMAIRLINESHOWENDIFENDIFENDSUB85查询航线信息在航线信息列表中单击“查询”按钮,将出现如图919所示的窗体。图919航线信息查询窗体载入窗体时自动加入出发城市和到达城市的内容,代码如下PRIVATESUBFORM_LOADDIMIASINTEGERDIMSSQLASSTRINGDIMTXTSQLASSTRINGDIMMSGTEXTASSTRINGDIMMRCASADODBRECORDSET清除列表框中的内容FORI0TO1COMBO1ICLEARNEXTI选择数据库中与出发城市有关的内容TXTSQL“SELECTDISTINCTDEPARTCITYFROMAIRLINEINFO“SETMRCEXECUTESQLTXTSQL,MSGTEXT判断数据集是否为空IFNOTMRCEOFTHENDOWHILENOTMRCEOFCOMBO10ADDITEMTRIMMRCFIELDS0MRCMOVENEXTLOOPELSEMSGBOX“请先进行航线信息设置“,VBOKONLYVBEXCLAMATION,“警告“EXITSUBENDIFMRCCLOSETXTSQL“SELECTDISTINCTARRIVALCITYFROMAIRLINEINFO“SETMRCEXECUTESQLTXTSQL,MSGTEXTIFNOTMRCEOFTHENDOWHILENOTMRCEOFCOMBO11ADDITEMTRIMMRCFIELDS0MRCMOVENEXTLOOPELSEMSGBOX“请先进行航线信息设置“,VBOKONLYVBEXCLAMATION,“警告“EXITSUBENDIFMRCCLOSEENDSUB设置查询内容后,单击“确定”按钮,所有满足查询条件的内容显示在航线信息列表中。9客户类型信息管理模块的创建客户类型信息管理模块主要实现如下功能添加客户类型信息。修改客户类型信息。删除客户类型信息。91显示客户类型信息窗体的创建选择“
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 政治素养类题目及答案
- 郑州物流地理题目及答案
- 整张试卷题目及答案
- 2025年中国PP-R冷热水管生产线行业投资前景及策略咨询研究报告
- 2025年中国纤维砂碟行业投资前景及策略咨询研究报告
- 2025年中国硅酸根分析仪行业投资前景及策略咨询研究报告
- 2025年中国无机复合浮雕装饰板行业投资前景及策略咨询研究报告
- 2025年中国小芯左式橱门锁行业投资前景及策略咨询研究报告
- 2025年中国保鲜藕段行业投资前景及策略咨询研究报告
- 2025届广东省深圳市卓识教育深圳实验部高二化学第二学期期末质量检测试题含解析
- 运输公司交通安全培训课件
- 2025年陕西省中考数学试题(解析版)
- 《康复治疗学专业毕业实习》教学大纲
- 北师大版7年级数学下册期末真题专项练习 03 计算题(含答案)
- 职业卫生管理制度和操作规程标准版
- 小学信息技术四年级下册教案(全册)
- 河道保洁船管理制度
- 【增程式电动拖拉机驱动系统总体设计方案计算1900字】
- 2025年重庆市中考物理试卷真题(含标准答案)
- 2025至2030中国云计算行业产业运行态势及投资规划深度研究报告
- 党课课件含讲稿:《关于加强党的作风建设论述摘编》辅导报告
评论
0/150
提交评论