Course Title : Project Title of the Project : RAILWAY RESEVATION SYSTEM Enrolment No : !"#!$%&%& N'me : (EEN) SAINI A**ress : C+ &",-./(0A1ANP)RA/2EL0I+ &&!!$#
2'te : Signature : Guides Signature :
2 TA(LE O3 CONTENTS Ch'4ter No 2escri4tion P'5e No
Ori5in'l Co46 of the A44ro7e* Perform'88888888 Certific'tes of Ori5in'lit688888888888 Curriculum Vit'e of the 9ui*e888888888888 S6no4sis8888888888888888888
& Intro*uction : O;jecti7es
Intro*uction88888888888888888 O;jecti7es888888888888888888 < S6stem An'l6sis888888888888888888 I*entific'tion of the nee*88888888 Prelimin'r6 In7esti5'tion88888888 3e'si;ilit6 Stu*6888888888888 # Soft='re En5ineerin5 P'r'*i5m888888888888 3 % Soft='re Re>uirement S4ecific'tions ?SRS@8888888 $ 2esi5n8888888888888888888888 2f* 8888888888888888 Entit6 Rel'tionshi4 ?ER@ 2i'5r'm888 Test c'se88888888888888 2't' Structure of T';les8888888 2escri4tion of T';les888888888 2't' 2iction'r6 of T';les8888888 3orms8888888888888888 Lo5ic 'n* 2escri4tion of Mo*ules88 " Co*in58888888888888888888888 . Co*e Efficienc6 'n* O4timiA'tion Co*e888888 , V'li*'tion ChecBs888888888888888888 C Testin5 ?Testin5 Techni>ues 'n* Str'te5ies@88888 &! Securit6 Me'sures T'Ben88888888888888 && WorB Sche*ule 'n* Cost Estim'tion888888888 &< Re4orts8888888888888888888888 &# Limit'tions of the Project8888888888888888 &% 3uture Sco4e of Project8888888888888888
&$(i;lio5r'4h6888888888888888888888 4 Program Code : BCA Course Code : CS-76 5 Course Title : Project Project Title : Railway Reservation System Enrolment o! : "6#"$%&%& ame : Beenu saini Address : C- &6'(7) B*ajan+ura ,ate : Signature o- student : Signature o- guide : 6 &! Title o- t*e Project! .! /ntroduction! #! 01jective o- t*e Project! %! Project category! $! Analysis and design! 6! ,2,3s) ER, and Ta1les! 7! 4odule descri+tion! '! Process logic! 5! re+ort &"! Tools(Plat-orms) 6anguages to 1e used! &&! /s t*ere any client7 &.! Sco+e o- 2uture A++lication! 7 8 INTRO2)CTION We know that train transport facility is very important for us. Indian railway is at fourth ranked in the World and first ranked in the Asia to provide more and better facility. The main problem of Indian railway is ticket reservation. And the solution of this problem is online ticket reservation through internet. railway reservation system is an application software that has been developed for provide a complete automated and computerized solution to railway reservation. The railway reservation software has a very interactive interface and is user friendly. The railway reservation software is to provide a complete functionality for railway ticket reservation. Example !egistration "etails# $ustomer "etails# %tatus "etails# reservation of train# cancellation of reservation# train information their schedule and fare details. And also more information about ticket reservation. The %ystem records each and every transaction in computers and saves the time that was too long in case of manual recording. The %ystem keeps all Train !elated Information and does most of the work automatically like generating &assenger 'umber (PR o!)# $alculating *ares# $hecking Train schedule etc. 9 This system uses +isual %tudio ,--. as a frontend tool and /racle 0-g as the backend tool that has been manipulate the database. l0 O(1ECTIVES The main ob1ective of developing this kind of product is to applying the information technology for !AI2WA3 reservation. It provides a well maintained information structure for processing the transactions. The main idea behind is to provide a complete system to cater to all the activities that take place in reservation of railway ticket. The target is to provide# add and apply information technology in the Indian railway ticket reservation software with very fast service like in4uiry service to customers without any error and it is to provide better customer satisfaction. It records each and every transaction in computers and saves the time that was too long in case of manual recording. The I'"IA' railway reservation includes the complete data# which include train information# fare information# passenger information# reservation# cancellation# train schedule# rout information# in4uiry# etc. The primary ob1ectives behind the development of the 5Indian railway reservation system6 are as follows7 %peeding up all the transactions. ll Enabling the !AI2WA3 !E%E!+ATI/' %3%TE8 to maintain its data through computers. 9uick and fast services to the customers. !emove the old computerized by transaction handling with the fast $omputerized system. Applying a reliable and efficient functionality. %ave time and efforts. 8aking the %ystem reliable and secured. &roviding the security to valuable data l2 PO1ECT CATE9ORY This pro1ect belongs to the category of "atabase Applications. All the data about the train# registration of passenger# booking of reservation# train information# staff# cancellation of reservation# train scheduling are maintained through /!A$2E 0-:. The records about the entire passenger coming for en4uiry the train# making reservation and cancellation of reservation are stored in the database and can be retrieved on the basis of 4uery. The data maintenance and manipulation is an important aspect of this pro1ect. The application controls great amount of data# which is updated and maintained using /!A$2E 0-: "ATA;A%E.
l3
l4 An'l6sis Re4orts Requirements Definition - A software re4uirement is an abstract description of the services that the system shall provide and the constraints under which the system must operate. !e4uirements determination involves studying the current business system to find out how it works and where improvements should be made. %ystem studies result in an evaluation of how current methods are working and whether ad1ustments are necessary or possible. A re4uirement is a feature that must be included in a new system. It may include a way of capturing or processing data# producing information# controlling a business activity# or supporting management. The determination of re4uirements thus entails studying the existing system and collecting details about it to find out what these re4uirements. !e4uirements can either be functional or non functional. Requirement Analysis - !e4uirement Analysis is a %oftware Engineering task that bridges the gap between system level re4uirements l5 engineering and software design. In the proposed pro1ect %oftware !e4uirements Analysis have been divided into five areas of effort. 0. &roblem recognition ,. Evaluation and %ynthesis <. 8odeling =. %pecification .. !eview !e4uirements Elicitation for the %oftware7 ;efore re4uirements can be analyzed# modeled or specified they are gathered through an elicitation process. $ontext free 4uestions were asked to the management people belonging to different large organizations> institutes regarding how they would characterize a good output that would generate a successful solution# what kind of problems will this solution address# how they describe the l6 environment in which the solution will be used and will special performance issues or constraints effect the way the solution is approached. Software Engineering paradigm applied : A. E!"#D#$#G%. *or develop the software the basic thing is that what is the model will be used. The model will be used is of great importance for development of the software. In the waterfall model# the se4uence of the activities performed in a software development pro1ect7 re4uirement analysis# pro1ect planning# system design# detailed design# coding# and unit testing# system integration and testing. This is the order the different phases will be apply for develop of the pro1ect. 2inear ordering of the phases is the important for the development of the software because by using this model you can follow the phases l7 in the linear order. *irst the re4uirement analysis is done then you can proceed the next phase like "esigning. This model is used when you know all the phases in advance i.e. you know the re4uirement of the client. ;ecause re4uirement analysis is important for the development of the software. *or the development of the software there are two parties are involved in the development of the software ? a client and a developer. 8ost often the re4uirement of the client does not know and the re4uirement of the client will be changed. %o before using this model re4uirement of the client is know in advanced. To overcome these problems we can used the +rototy+e model. The basic idea for using this model is that the re4uirements have not known initially. In this model a prototype is build to understand the re4uirements. This prototype is developed based on the currently known re4uirements. The prototype means to develop the formal model of the software which meats the current re4uirements. ;y using this prototype# the client can get an actual feeling of the system because the interaction with the prototype can enable the client to better understand the re4uirements of the desired system. ;y using this model there is no work manually. ;y using this model we can create a prototype# which meets the primary l8 re4uirements of the reservation center. ;y seeing this model the user knows the re4uirements of the reservation center. In the waterfall model the re4uirements had been known in advanced. To solve this problem we can used the +rototy+e model. The +rototy+ing model is given below7 Fig. The Prototyping Model The development of the prototype typically starts when the preliminary version of the re4uirements specification document has been developed. After developed the prototype# the end users and clients are given an opportunity to use the prototype. ;ased on the experience# they provide the feedback to the developers regarding the prototype7 what is correct# what is needs to be modified# what is missing# what is not needed# etc. In this l9 Re>uirements An'l6sis 2esi5n Co*e 2esi5n Co*e Test software when we give the prototype to the client @ they give the feedback like the needed of the login in the software. 20 2l 22 23 24 2ATA-TA(LE STR)CT)RE & )SERDLO9IN S. NO. FlELD NAME DATA TYPE WlDT H Constraints l. USER_lD VARCHAR2 20 Primary key 2. PASSWORD VARCHAR2 20 < A2MINISTRATERDLO9IN S. NO. FlELD NAME DATA TYPE WlDT H Constraints l. ADMlNlSTRATER_lD VARCHAR2 20 Primary key 2. PASSWORD VARCHAR2 20 25 # TRAIN IN3ORMATION S. NO. FlELD NAME DATA TYPE WlDT H Constraints l. TRAlN NO. VARCHAR2 20 Primary key 2. TRAlN NAME VARCHAR2 50 3. SOURCE VARCHAR2 20 4. DESTlNATlON VARCHAR2 20 5. DEPERTURE TlME VARCHAR2 20 6. ARRlVAL TlME VARCHAR2 20 7. CATEGORY VARCHAR2 20 8. BlRTH NUMBER (8) 26 % 3ARE IN3ORMATION S. NO. FlELD NAME DATA TYPE WlDTH Constraints l. TRAlN NO. VARCHAR2 20 Foreign key 2. TRAlN NAME VARCHAR2 50 3. SLEEPER_VlA l NUMBER (8,2) 4. SLEEPER_VlA 2 NUMBER (8,2) 5. SLEEPER_VlA 3 NUMBER (8,2) 6. SLEEPER_VlA 4 NUMBER (8,2) 7. AC3_VlA l NUMBER (8,2) 8. AC3_VlA 2 NUMBER (8,2) 9. AC3_VlA 3 NUMBER (8,2) l0. AC3_VlA 4 NUMBER (8,2) ll. AC2_VlA l NUMBER (8,2) l2. AC2_VlA 2 NUMBER (8,2) l3. AC2_VlA 3 NUMBER (8,2) l4. AC2_VlA 4 NUMBER (8,2) l5. ACl_VlA l NUMBER (8,2) l6. ACl_VlA 2 NUMBER (8,2) l7. ACl_VlA 3 NUMBER (8,2) l8. ACl_VlA 4 NUMBER (8,2) 27 $ RESERVATION
S. NO. FlELD NAME DATA TYPE WlDTH Constraints l. TRAlN NO. VARCHAR2 20 Foreign key 2. TRAlN NAME VARCHAR2 50 3. D of trav DATE 4. SOURCE VARCHAR2 20 5. DESTlNATlON VARCHAR2 20 6. STATUS VARCHAR2 20 7. NAME VARCHAR2 20 8. AGE NUMBER (3) 9. GENDER VARCHAR2 6 l0. QUOTA VARCHAR2 20 ll. PNR_NO VARCHAR2 20 Foreign key l2. S No. NUMBER (2) l3. B No. VARCHAR2 20 l4. Fare Number 8,2 l5. Paid fare Number 8,2 28 " CANCELLATION
S. NO. FlELD NAME DATA TYPE WlDTH Constraints l. TRAlN NO. VARCHAR2 20 Foreign key 2. TRAlN NAME VARCHAR2 50 3. D of trav DATE 4. SOURCE VARCHAR2 20 5. DESTlNATlO N VARCHAR2 20 6. STATUS VARCHAR2 20 7. NAME VARCHAR2 20 8. AGE NUMBER (3) 9. GENDER VARCHAR2 6 l0. QUOTA VARCHAR2 20 ll. PNR_NO VARCHAR2 20 Foreign key l2. D o c Date 29 . PASSEN9ER IN3ORMATION S. NO. FlELD NAME DATA TYPE WlDTH Constraints l. PNR_NO. VARCHAR2 20 Primary key 2. TRAlN NO. VARCHAR2 20 Foreign key 3. TRAlN NAME VARCHAR2 20 4. NAME VARCHAR2 20 5. GENDER VARCHAR2 20 6. AGE Number 3 7. QUOTA VARCHAR2 20 8. ADDRESS VARCHAR2 l00 9. TEL NUMBER Varchar2 (l0) l0. D of trav DATE 30 , STA33 IN3ORMATION S. NO. FlELD NAME DATA TYPE WlDTH Constraints l. lD VARCHAR2 20 Primary key 2. NAME VARCHAR2 20 3. GENDER VARCHAR2 6 4. AGE Number 3 5. ADDRESS VARCHAR2 200 6. D o b DATE 7. D o j DATE 8. POST VARCHAR2 20 9. DEPARTMENT VARCHAR2 20 3l C ROOT IN3ORMATION
S. NO. FlELD NAME DATA TYPE WlDTH Constraints l. TRAlN NO. VARCHAR2 20 Foreign key 2. TRAlN NAME VARCHAR2 50 3. VlAl VARCHAR 20 4. VlA2 VARCHAR2 20 5. VlA3 VARCHAR2 20 6. VlA4 VARCHAR2 20 7. DlSTANCEl VARCHAR2 20 8. DlSTANCE2 VARCHAR2 20 9. DlSTANCE3 VARCHAR2 20 l0. DlSTANCE4 VARCHAR2 20 ll. ARRlVALl TlME VARCHAR2 20 l2. ARRlVAL2 TlME VARCHAR2 20 l3. ARRlVAL3 TlME VARCHAR2 20 l4. ARRlVAL4 TlME VARCHAR2 20 l5. DEPERTUREl TlME VARCHAR2 20 l6. DEPERTURE2 TlME VARCHAR2 20 l7. DEPERTURE3 TlME VARCHAR2 20 l8. DEPERTURE4 TlME VARCHAR2 20 &"!Sc*edule /n-ormation 32 33 2ield ame ,ata Ty+e Si8e Constraint Train no. +archar, ,- *oreign key Arr time +archar, ,- "ept time +archar, ,- %top time +archar, 0- "elay time +archar, 0- Train name +archar, ,- MO2)LE 2ESCRIPTION &)SERDLO9IN:+ This module includes the details about the user means who use this software. And the details are like as user id and password. <A2MINISTRATER LO9IN:+ This module includes the details about administrator like administrator id and password. ;ecause a administrator have all permission related to record like updation# deletion and etc. # TRAIN IN3ORMATION:+ This module includes the details about the train which is in running operation in the Indian railway having reservation facility. And the details are train no# train name# source# destination# arrival time# departure time and etc. % 3ARE IN3ORMATION:+ This module includes the details about the fare of train. The fare of ticket depends on the route# it means from source station to route. *or this# this module includes the all basic information like 34 what is the fare of source to particular routeA. And the details are train no# train name# class and etc. $ RESERVATION:+ This module includes the details about the reservation made by the passenger. And the details are pnr no# train no# train name# source# destination# fare# paid fare# d o trav and etc. " CANCELLATION:+ This module includes the details about the cancellation of ticket which is issued by Indian railway. The details are pnr no# train no# train name# source# destination# cancellation amount and return amount and etc. . PASSEN9ER IN3ORMATION:- This module includes the details about the passenger who comes to make the reservation. And the details are like as pnr no# name# address# tel no and etc. , STA33 IN3ORMATION:+ This module includes the details about the staff who is working in the reservation center and who make the 35 reservation. And the details are like as staff id# staff name# staff address# d o b# d o 1 and etc. C ROOTS IN3ORMATION:+ this module includes the details about the root on which any train of Indian rail runs. And for which a passenger can make the reservation. And the details are like as train no# train name# root0# root,# root<# fare0# fare,# fare<# class and etc. &! TRAIN SC0E2)LE:+ this module includes the details of train scheduling. And the details are like train no# train name# arrv time# dept time# stop time# delay time and etc. Process 6ogic 36 T*is so-tware +rocesses in t*e -ollowing manner: The passenger will visit the reservation center for reserving the Ticket in the train. *or this purpose he>she has to specify the source and the destination and the date for which the reservation is re4uired. And also he>she has to fill the passenger detail form like their name# address and telephone number. The operator would check for the status of the train re4uired by the passenger. If there are enough vacant seats available# the reservation will be confirmed. A ticket for the train will be issued to the passenger after accepting the fares for the train. The fares are different for adult and child as well they also depend upon the $lass of %eats e.g. for first class and for economy class there are different fares. "epending upon passenger6s re4uirement appropriate fares will be charged for traveling. 37 REPORT Reservation Re+ort 9 This report is shows the reservation of the train. This report contains all the information available of the reservation. In this pro1ect contains the information of the passenger6s like &'!B'o# Train no# Train name# 'ame# Age# %ex# Address# Adults# $hildren# Total seats# "ate of ;ooking# "ate of reservation# ;ooking $lass# %ource# "estination# %eat no# $oach no# *ares# Total cash etc. Cancel Reservation Re+ort 9 This report shows cancel reservation passengers. In this report contains the information of the canceled passenger6s like &'!B'o# Train no# Train name# $ancel "ate $ancel $harges# 8oney refunded# %eat no etc. Train Re+ort 9 This report is used for get the information about train. In this report contains the main information of the Train6s like Train no# Train name# %ource# "estination# !outes etc. 38 Tools and Plat-orm :sed 0racle &"g as 1ac; end <isual Studio .""$ as -ront end Reason -or using t*ese tools: This %oftware is a database application that uses +isual %tudio ,--. as the frontend tools. +isual %tudio is a very popular tool for developing Windows based :CI applications. /racle 0-g is the backbone of this software. It has been as the backend tool of this software. /racle 0-g helps in manipulating the database in a very efficient manner Visu'l Stu*io <!!$ ?V( Net@:+ +isual %tudio.'et is a &roduct of 8icrosoft &roduct for developing windows based application. +;.net provides a large number of graphical components that are generally used in developing :CI applications. 39 The +;.'et programming system provides with many kinds of tools to create attractive and useful applications. +;.'et makes us more productive by providing appropriate tools for the different aspects of :CI development. The ob1ects like text box# list box# picture box# labels# combo box# frame# Internet can easily be drawn thus helps in easy interface designing. And after designing the interface we make this interface interact with the user by writing code that responds to events that occur in the interface. +;.net has a powerful help support for the programmers. The 8%"' help files contain complete information and assistance for each and every ob1ect of the +isual %tudio environment. Whenever need one can easily refer to the examples given in the 8%"' helpA Thus programmers find it easy to develop the pro1ects in +isual %tudio.'et! 0RAC6E &"= - /racle 0-g is /b1ect !elational database 8anagement %ystem (/!";8%). It offers capabilities of both relational and ob1ect oriented database system. In general ob1ects can be defined as reusable software codes which are location independent and perform a specific task on any application environment with little or no change to the codes. 40 %92 is used to access the data within the /racle. It contains a set of commands# which make it very easy to maintain the database. It has for sub parts ""2# "82# "$2# and T$2. ""2 includes the commands# which allows us to create ob1ects and to manipulate the structure of the ob1ects. "82 includes the commands to manipulate the information stored in a database. "$2 includes the commands for controlling the data access and T$2 includes the commands for controlling the transactions like commit and rollback. The database server or backend is used to manage the database files optimally among multiple clients who concurrently re4uest the server for the same data. It also enforces "ata Integrity across all client application and controls database access and other security re4uirements. 4l >ardware and so-tware re?uirement 4inimum System Re?uirements: - /perating %ystems7 Windows D& service pack ,# vista. "evelopment Tools7 +isual %tudio ,--. "atabase7 /racle 0-g >ardware and So-tware Re?uirements: - >ardware Re?uirements: - %creen resolution E-- by F-- pixels# re4uired for proper and complete viewing of screens. Gard "isk %pace7 0. :; hard disk 42 %upports for printer (dotmatrix>"eskHet etc.) appropriate drivers are installed and printer connected will be re4uired for printing of reports and ;ills. 8icroprocessor7 &entium= or higher. !A87 .0, 8; !A8 or above for fast execution and reliability Software Requirements: - /racle 0-g as back end for storing of data in database +isual %tudio ,--. as front end for designing and coding. 43 Is there any client for this pro1ectA 'o. there is no client for this pro1ect! 44 Sco+e o- 2uture A++lication In future# this !AI2WA3 !E%E!+ATI/' %3%TE8 can be made /nline with some modification that would give the facility to make the reservation in the train and cancellation of reservation online! ;y making this software online# it can provide the facility of en4uiry the train# status of the reservation# make reservation and cancellation the reservation online. and passenger can know about other services offered by the Indian rail. This would result in 4uick service and greater customer satisfaction. 8oreover# this pro1ect in its present form can be used for making the reservation center automated which will help in providing much efficient and enhanced services with great database security and reliability because all the data will be handled through the computers. 45 INTRO2)CTION 46 We know that train transport facility is very important for us. Indian railway is at fourth ranked in the World and first ranked in the Asia to provide more and better facility. The main problem of Indian railway is ticket reservation. And the solution of this problem is online ticket reservation through internet. railway reservation system is an application software that has been developed for provide a complete automated and computerized solution to railway reservation. The railway reservation software has a very interactive interface and is user friendly. The railway reservation software is to provide a complete functionality for railway ticket reservation. Example !egistration "etails# $ustomer "etails# %tatus "etails# reservation of train# cancellation of reservation# train information their schedule and fare details. And also more information about ticket reservation. The %ystem records each and every transaction in computers and saves the time that was too long in case of manual recording. The %ystem keeps all Train !elated Information and does most of the work automatically like generating &assenger 'umber (PR o!)# $alculating *ares# $hecking Train schedule etc. 47 This system uses +isual %tudio ,--. as a frontend tool and /racle 0-g as the backend tool that has been manipulate the database. 48 O(1ECTIVES The main ob1ective of developing this kind of product is to applying the information technology for !AI2WA3 reservation. It provides a well maintained information structure for processing the transactions. The main idea behind is to provide a complete system to cater to all the activities that take place in reservation of railway ticket. The target is to provide# add and apply information technology in the Indian railway ticket reservation software with very fast service like in4uiry service to customers without any error and it is to provide better customer satisfaction. It records each and every transaction in computers and saves the time that was too long in case of manual recording. The I'"IA' railway reservation includes the complete data# which include train information# fare information# passenger information# reservation# cancellation# train schedule# rout information# in4uiry# etc. The primary ob1ectives behind the development of the 5Indian railway reservation system6 are as follows7 %peeding up all the transactions. 49 Enabling the !AI2WA3 !E%E!+ATI/' %3%TE8 to maintain its data through computers. 9uick and fast services to the customers. !emove the old computerized by transaction handling with the fast $omputerized system. Applying a reliable and efficient functionality. %ave time and efforts. 8aking the %ystem reliable and secured. &roviding the security to valuable data 50 ANALYSIS AN2 2ESI9N REPORTS Re>uirements 2efinition- A software requirement is an abstract description of the services that the system shall provide and the constraints under which the system must operate. Requirements determination involves studying the current business system to find out how it works and where and where improvements should be made. System studies results in an evaluation of how current methods are working and weather adjustment are necessary or possible. A requirement is a feature that must be included in a new system. lt may include a way of capturing of processing data, producing information, controlling a business activity, or supporting management. The determination of requirements thus entails studying the existing system and collecting details about it to find out what these requirements. Requirements can either be functional or non functional. Re>uirement An'l6sis Requirement Analysis is a software Engineering task that bridges the gap between system level requirements engineering and software design. ln the proposed project software requirements analysis have been divided into five areas of effort. 5l l. problem recognition 2. evaluation and synthesis 3. modeling 4. specification 5. review Re>uirements Elicit'tion for the soft='re:- Before requirements can be analyzed, modeled or specification they are gathered through an elicitation process. Context free questions were asked to the management people belonging to different large organizations /institute regarding how they would characterize a good out put that would generate a successful solution, what kind of problems will this solution address, how they describe the environment in which the solution will be used and will special performance issues or constraints effects the way the solution is approached. Eu'lit6 function re>uirement: Quality function development (QFD) is a quality management technique that translate the needs of the customer into technical requirements for software. 52 ln QFD three types of requirement are identified Normal Requirements: l. Graphical displays: a) Fully menu driven. b) lntuitive key assignments and user interactive screen. c) User configurable. 2. Back up and restore facilities. 3. Facility to add, delete, modify an user record. 4. Report generation. EF4ecte* Re>uirements: These requirements are implicit to the product or system and may be so fundamental that the customer dose not state them. The following are listed. l. lndexing 2. Ease of human / machine interaction 3. Reliability and operational correctness 4. Ease of software installation 5. Single point data storage for data element 53 6. Maintenance of integrity and inter linkage of data 7. Extensive query facility to provide immediate answers for management 8. Matching of physical and logical movement of file 9. Should be upgradeable to incorporate new features l0. Should be expandable ll. Should have fastest possible response while processing queries, reports and updates EFcitin5 re>uirements: l. Error control mechanism 2. Tool tip next display 3. Graphical animations 4. Other look and feel appeals Securit6 re>uirements : The following security requirements are considered in this project. l. User Level Authentication 2. Restricted Menu access 3. Back up and Restore 54 3unction'l re>uirements : Functional requirements include the statements of the services the system should provide. Non G function'l re>uirements : Non functional requirements include contains on services or function provided by system. List of function and non function requirements of the 'RAlLWAY RESERVATlON is given below: 3unction'l re>uirements : Tr'in *et'il:+ This system should provide a feature to see or enter the details of trains like as add new train, update train record and etc. STA33:+ This system should provide a feature to see or enter the details of existing/ new staff. RESERVATION:- This system should provide a feature to make a reservation for passengers CANCELLATION: 55 This system should provide feature to cancel the reservation made by a passenger. PASSEN9ER 2ETAIL: This system should allow to keep the details of passenger who make a reservation. Se'rch :+ The system should allow searching for a particular record. 9ener'tin5 re4orts :+ Various reports should be generated on the monthly basis or as per the requirements. Non G function'l re>uirements: The Non-functional requirements can be classified into three main categories that are : l. Product requirements 2. Organizational requirements 3. External requirements Pro*uct re>uirements these are the expectations from a system. Product requirements include the following: 56 )s';ilit6 re>uirements:+ The system should have a good interface and it should be used friendly because it the user who would be using the system most of the time. Along with the user friendly interface the system should be easy to use and should not be confusing. A list of command or instructions on how to work with the system and operate it should be provided with the system. Efficienc6 Re>uirements:+To make the system run efficiently system requirements of the software will have to be kept minimum. Reli';ilit6 Re>uirements:+ A system is said to be reliable is a user can depend on it. The process be execute in the same manner it has been programmed. And the out puts of the project must be very correct. lf outputs are not reliable then there is no advantage of using the software. Moreover, the Database must be handled very carefully because loss of the data may result in bankrupting or closing the organization. 3e'si;ilit6 Stu*6:+ Feasibility study is the determination of whether or not a project is worth doing. The process followed in making this determination is called a feasibility study. This type of study determines if a project can and should 57 be taken. Once it has been determined that a project is feasible, the analyst can go ahead and prepare the project specification which finalize the project requirements. Different type of feasibility study undertaken is: Technic'l fe'si;ilit6:+ This is concerned with specifying equipments and will satisfy the user requirements. The technical needs of the system may vary considerably but might include: The facility to produce outputs in a given time. Response time under certain conditions. Ability to process a certain volume of transaction at a particular speed. Facility to communicate data to distant location. Technical feasibility centers on the existing computer system, hardware, software, etc and to what extent it can support the system. ln examination technical feasibility configuration of the system is given more important that the actual make of hardware. The configuration should give the complete picture of the system requirements e.g. how many workstation are required, how these units are interconnected so that they would operate smoothly, 58 etc. the result of technical feasibility study is used as the basic for documents against which dealer and manufactures can make the bids. Specified hardware and software product can then be evaluated keeping in view the logical needs. Economic 3e'si;ilit6 :+ Economic feasibility is the most frequently used technique for evaluate- in the effectiveness of the proposed system. More commonly knows, as cost/benefit analysis; the procedure is to determine the benefits and saving that are expected from a proposed system and compare them with costs. lf benefits outweigh costs, a decision is taken to design and implement a system. Otherwise, further justification or alternative in a proposed system will have to be made if it is to have a chance of being approved. This is an out going effort that improves in accuracy at each phase of system lifecycle. Time fe'si;ilit6:+ lt is determination of whether a proposed project can be implemented fully with in a stipulated time frame. lf a project takes too much time it is likely to be rejected. Time feasibility is important because the client companies usually give dead lines for the system to be changed. Usually give dead lines for the system to be changed. Usually deadlines are very strict and should be followed by companies. 59 Resource fe'si;ilit6: This was also important to check whether required resources will be available or not. For the software, there were no such constraints as most of the web-related language are platform independent and freely available. Here, l decided to use VlSUAL BASlC.NET as the most prominent tool, the compiler for which is freely available. For the database, a general approach was adopted by means of which the same coding can be implied on all the web-related database management system software available. The database may be implemented on oracle l0G or higher. (eh'7ior'l fe'si;ilit6:+ Normal human psychology of human being indicates that people are resistant to change and computers are knows to facilitate. Any project formulations should consider this factor also. Before the development of the project titled "RAlLWAY RESERVATlON" the need to study the feasibility of the successful execution of the project was felt and thus the following factors are considered for a feasibility study. l. Need Analysis. 2. Provide the users information pertaining to the above requirements. 3e'si;ilit6 stu*6 re4ort:+ 60 Questionnaires were used to gather information from the key users i.e. the customers, operators and managements to determine the following: Whether there is a need for an automated system. lf the need is there, what are the drawbacks of existing system that have to be rectified in the new system? That omissions are there in the existing systems, which have to be incorporated in the new system? The result of the feasibility study provided us with the following facts: l. The automated system would increases the efficiency of the system. 2. The automated system would increases customer's satisfaction. 3. The automated system has many requirements such as Efficiency Cost effectiveness Prompt services Reliability 4. The automated system would add to the security features of the system 5. The automated system should be Simple to use lncorporate all necessary services 6l Maintainable 6. This will cause some changes in the organization. These are:- Change in staffing policies-present employees will have to be sent for training. New employees to be recruited will have the knowledge about the automated system. 62 Soft='re En5ineerin5 P'r'*i5m Soft='re En5ineerin5 P'r'*i5m is also referred as software Life Cycle Model or a process model. A software life cycle is a series of identifiable stage that a software product undergoes during its life time. A software product development effort usually starts with a feasibility study stage, and then subsequently requirements analysis & specification, design, coding, testing and maintenance are undertaken. Each of these stages is called life cycle phase. While developing a software product, it is necessary for the development team to identify a suitable life cycle model and adhere to it. The primary advantage of adhering to a life model is that it encourage development of software in a systematic and disciplined manner. There are several software engineering paradigms (process module) for developing software. Some of the important and commonly used models are as under: Linear Sequential model (also called "classis life cycle" or the "waterfall model") lterative waterfall model Prototyping model applied in to the "project information system" Evolutionary model Rapid application development (RAD) model 63 Spiral model Prototyping paradigm of software Engineering is applied in the "Railway Reservation System" the prototyping model suggests that before development of the software, a working prototype of the system should be built first. There were several reasons for developing a prototype. An important purpose was to illustrate the input data formats, reports, and the interactive dialogues to the end user. This was a valuable mechanism for gaining better understanding of the Business Development Division's needs. For much easier for the user to form his option by experimenting with a working model rather than just trying to imaging the working of a hypothetical system. After gathering the requirements from the Business Development division, a quick design (prototype) was made and showed to the HODs of information Technology and Business Development Division. The system prototype built was quit close to the requirements of the Business Development Division. Some additional requirements were also added to the system on the system on the pretext of slight increase in the earlier scope. Following figure depicts the prototyping paradigm applied in the "Railway Reservation System". 64 As shown in the figure the model starts with an initial requirements gathering phase. A quick design was carried out and the system proto- type was built. The developed prototype was then shown to the end user for their suggestion on it. Based on the feedback, the requirements were refined and classical waterfall approach was used to develop the "Railway Reservation System". 65 66 Requirements Gathering Quick Design Requirement of requirements Build Prototype Prototype Evaluation Design Coding and Reports Testing lmplementation ?SOFTWARE REQUIREMENT SPECIFICATION@ 67 Structure of SRS :+ 1. Introduction:- This document aims at defining the overall software requirement for 'RAlLWAY RESERVATlON SYSTEM'. Efforts have been made to define the requirement exhaustively .The final product will be having only feature/functionalities mentioned in this moment and assumptions for any additional functionality/feature should not be made by any of the parties involved in developing /testing/implementing/using this product. ln case it is required to have some additional features, a formal change request will need to be raised subsequently a new release of this document and product will be produced. A. Purpose This specification document describes the capabilities that will be provided by the software specification 'RAlLWAY RESERVATlON SYSTEM'. lt also states the various required constraints by which the system will abide. The intended audiences for this document are the development team, testing team and end user of the product.
68 . Scope The software product 'RAlLWAY RESERVATlON SYSTEM' will be online and reporting application that will be used for railway reservation inquiry like information about train.(root information,fare information etc). and people can also booked the tickets and canceled the tickets. The application will manage the information about all the trains and roots of trains,fare of trains,all booked and cancelled ticket details also manage the information about staff who use this software product. Printable reporting regarding list of the ticket reservation and cancellation of passengers and eligible passengers will be generated. C. A!!re"i#tions Following abbreviations have been used throughout this document: train_no: train identification number. pnr_no: passenger's ticket identification number. Staff_id: staff identifies number. 69
$. O"er#%% description The railway reservation system offers booked tickets in four types of status in train journey which name is sleeper class, ac3, ac2, acl. The railway reservation system keeps the passenger's records and their profile records, and the train information record and their requirement. The user can search the passenger's records for see and remember the date of traveling, fare of journey etc of passenger's. A. Product perspecti"e:- The application will be windows-based, self-contained and independent software product. . User inter&#ce:- 70
Front end client application (with data entry/update/del ete/view and report facility) Backend database The application will be a user-friendly and menu based interface. Following screens will be provided: &i' a login screen for entering the user id and password will be provided to Access main page. &ii' There will be a screen for capturing and displaying the train information like train_no, train_name, source, destination, departure_time, arrival_time, category, total_distance. &iii' There will be a screen for capturing and displaying information regarding various details of passenger's like pnr_no, train_no, train_name, name, age, gender, quota, contact_no, address, d_o_t etc. &i(' There will be a screen that will capture and displaying information regarding various details of fare like train_no, train_name,ac3_vial, ac3_via2, ac3_via3, ac3_via4, ac2_vial etc. &(' There will be a screen that will be capturing and displaying information regarding staff details like staff_id, d_o_j, etc. &(i' There will be a screen that will be displaying the information regarding various detail of roots like vial, via2, via3, via4 etc. &(ii' There will be a screen that will be capturing and displaying the information regarding various detail of ticket reservation like train_no, train_name, source, destination, d_o_t, name, age, gender, quota, 7l seat_no, coach_no, pnr_no, from_station, to_station, departure_time, arrival_time, fare etc. &(iii' There will be a screen that will be capturing and displaying the information regarding various detail of ticket cancellation like train_no, train_name, source, destination, d_o_t, name, age, gender, quota, contact_no, address, seat_no, coach_no, pnr_no, from_station, to_station, departure_time, arrival_time, return_fare etc. &i)' There will be screen that will be allowing user to search train information. &)' There will be screen that will be allowing user to search passenger information. &)i' There will be screen that will be allowing user to search staff information. &)ii' There will be screen that will be allowing user to search root information. &)iii' There will be screen that will be allowing user to search fare information. &)i(' There will be screen that will be allowing user to search root information. The following reports will be generated: (i) Ticket reservation report: printable report will be generated to show the list of the reserved tickets of passengers. 72 (ii) Ticket cancellation report: printable report will be generated to show the list of the cancelled tickets of passengers. (iii) Train information report: printable report will be generated to show the list of the train. C. '#rd(#re inter&#ce: &i' Screen resolution of at least l000X768-required for proper and complete viewing of screens. &ii' Printer either dot matrix/laser or ink jet to print the report. ). so&t(#re inter&#ce: &i' any window based operating system(Windows XP/2000/2003) &ii' Oracle l0G as the DBMS- for database. &iii' Visual basic.net for coding/developing the software.
73 *. Speci&ic re+uire,ents: This section contains the software requirement to be a level of detail sufficient to enable designers to design the system, and tester to test that system. %o-in screen This will be first screen that will be displayed .it will allow user to access the main form .After login he will be displayed the main page where he can go though different menus various fields available on this screen will be: &i' User ID: alphanumeric of length up to 20 characters. &ii' Password: alphanumeric of length up to 20 characters. . M#in &or, &i' Tr#in in&or,#tion: This will be allow the user to add/update information about new/exiting staff's various fields available on this screen will be: .#/ Train number: Alphanumeric of length up to 20 character. .!/ Train name: Alphanumeric of length up to 50 character. .c/ Source: Alphanumeric of length up to 20 character. .d/ Destination: Alphanumeric of length up to 20 character. 74 .e/ Departure time: Alphanumeric of length up to 20 character. .&/ Arrival time: Alphanumeric of length up to 20 character. .-/ Total distance: Alphanumeric of length up to 20 character. .'/ Via1: Alphanumeric of length up to 20 character. .i/ Via2: Alphanumeric of length up to 20 character. .0/ Via3: Alphanumeric of length up to 20 character. .1/ Via4: Alphanumeric of length up to 20 character. &ii' F#re in&or,#tion: This will be allow the user to add/update information about new/exiting staff's . various fields available on this screen will be: .#/ Train number: Alphanumeric of length up to 20 character. .!/ Train name: Alphanumeric of length up to 50 character. .c/ Sleeper via1: Number of length up to (8,2) character. .d/ Sleeper via2: Number of length up to (8,2) character. .e/ Sleeper via3: Number of length up to (8,2) character. .&/ Sleeper via4: Number of length up to (8,2) character. .-/ Ac3 via1: Number of length up to (8,2) character. .'/ Ac3 via2: Number of length up to (8,2) character. .i/ Ac3 via3: Number of length up to (8,2) character. .0/ Ac3 via4: Number of length up to (8,2) character. .1/ Ac2 via1: Number of length up to (8,2) character. .%/ Ac2 via2: Number of length up to (8,2) character. 75 .,/ Ac2 via3: Number of length up to (8,2) character. .n/ Ac2 via4: Number of length up to (8,2) character. .o/ Ac1 via1: Number of length up to (8,2) character. .p/ Ac1 via2: Number of length up to (8,2) character. .+/ Ac1 via3: Number of length up to (8,2) character. .r/ Ac1 via4: Number of length up to (8,2) character. &iii' st#&& in&or,#tion: this will allow the user to add new/update/delete information about the staff record. various fields available on these screen will be: .#/Sta ID: numeric, of length up to l0 digits. .!/ !ame: alphabetic, of length up to 20 characters. .c/A"e: number of length up to 3 characters. .d/#ender: alphanumeric of length up to 6 characters .e/ Address: alphanumeric of length up to 50 characters. .&/ Date o birt$: date% .-/Date o &oinin": date% .'/Date o retirement: date% .i/ Post: alphanumeric of length up to 20 characters. .0/ Department: alphanumeric of length up to 20 characters. &i(' P#ssen-er in&or,#tion: this will allow the user to add new/update/delete the information about a 76 passenger information record. various fields available on these screens will be: .#/Pnr number: alphanumeric of length up to 20 characters. .!/Train name: will be only alphabetic characters, of length up to 50 characters. .c/Train number: alphanumeric of length up to 20 characters. .d/Source: alphanumeric of length up to 20 characters. .e/Destination: alphanumeric of length up to 20 characters. .&/ !ame: alphabetic, of length up to 20 characters. .-/A"e: number of length up to 3 characters. .'/#ender: alphanumeric of length up to 6 characters .i/ 'uota: alphanumeric of length up to 20 characters. .0/ Date o travelin": date. .1/(ontact number: number of length up to 20 characters. .%/ Address: alphanumeric of length up to 50 characters. .,/ Status: alphanumeric of length up to 20 characters. .n/Seat number: number of length up to 2 characters. .o/Departure time: alphanumeric of length up to 20 characters. .p/Arrival time: alphanumeric of length up to 20 characters. .+/)rom station: alphanumeric of length up to20 characters. .r/ To station: alphanumeric of length up to 20 characters. .s/(oac$ number: alphanumeric of length up to 20 characters. &(' Root in&or,#tion: this will allow the user to add new/update/delete information about the root record. various fields available on these screen will be: 77 .#/Train number: alphanumeric of length up to 20 characters. .!/Train name: alphanumeric of length up to 20 characters. .c/Via1: alphanumeric of length up to 20 characters. .d/Via2: alphanumeric of length up to 20 characters. .e/Via3: alphanumeric of length up to 20 characters. .&/ Via4: alphanumeric of length up to 20 characters. .-/Distance1: alphanumeric of length up to 20 characters. .'/Distance2: alphanumeric of length up to 20 characters. .i/ Distance3: alphanumeric of length up to 20 characters. .0/ Distance4: alphanumeric of length up to 20 characters. .1/Departure1 time: alphanumeric of length up to 20 characters. .%/ Departure2 time: alphanumeric of length up to 20 characters. .,/ Departure3 time: alphanumeric of length up to 20 characters. .n/Departure4 time: alphanumeric of length up to 20 characters. .o/Arrival1 time: alphanumeric of length up to 20 characters. .p/Arrival2 time: alphanumeric of length up to 20 characters. .+/Arrival3 time: alphanumeric of length up to 20 characters. .r/ Arrival4 time: alphanumeric of length up to 20 characters. .s/Source: alphanumeric of length up to 20 characters. .t/ Destination: alphanumeric of length up to 20 characters. .u/Startin" source departure time: alphanumeric of length up to 20 characters. ."/*nd destination arrival time: alphanumeric of length up to 20 characters. 78 &(i' Sc'edu%er in&or,#tion: this will allow the staff to add new/update/delete information about the scheduler record. various fields available on these screen will be: .#/Train number: alphanumeric of length up to 20 characters. .!/Train name: alphanumeric of length up to 20 characters. .c/Departure time: alphanumeric of length up to 20 characters. .d/Arrival time: alphanumeric of length up to 20 characters. .e/Stop time: alphanumeric of length up to 20 characters. .&/ Dela+ time: alphanumeric of length up to 20 characters. &(ii' Tic1et reser"#tion: This will be allow the user to booked the ticket. Various fields available on his screen will be: #. Train number: alphanumeric of length up to 20 characters. !. Train name: alphanumeric of length up to 50 characters. c. Source: alphanumeric of length up to 20 characters. d. Destination: alphanumeric of length up to 20 characters. e. !ame: alphanumeric of length up to 20 characters. &. A"e: number of length up to 3 characters. -. #ender: alphanumeric of length up to 6 characters. '. 'uota: alphanumeric of length up to 20 characters. i. Date o travelin": alphanumeric of length up to 20 characters. 0. (ontact number: number of length up to 20 characters. 79 1. Address: alphanumeric of length up to 50 characters. %. Seat number: number of length up to 2 characters. ,. (oac$ number: alphanumeric of length up to 20 characters. n. Pnr number: alphanumeric of length up to 20 characters. o. )are: number of length up to (8,2) characters. p. Status: alphanumeric of length up to 20 characters. +. Departure time: alphanumeric of length up to 20 characters. r. Arrival time: alphanumeric of length up to 20 characters. s. )rom station: alphanumeric of length up to 20 characters. t. To station: alphanumeric of length up to 20 characters. &(iii' Tic1et c#nce%%#tion: This will be allow the user to cancelled the ticket. Various fields available on his screen will be: #. Pnr number: alphanumeric of length up to 20 characters. !. Train number: alphanumeric of length up to 20 characters. c. Train name: alphanumeric of length up to 50 characters. d. Source: alphanumeric of length up to 20 characters. e. Destination: alphanumeric of length up to 20 characters. &. !ame: alphanumeric of length up to 20 characters. -. A"e: number of length up to 3 characters. '. #ender: alphanumeric of length up to 6 characters. i. 'uota: alphanumeric of length up to 20 characters. 80 0. Date o travelin": alphanumeric of length up to 20 characters. 1. (ontact number: number of length up to 20 characters. %. Address: alphanumeric of length up to 50 characters. ,. ,eturn air: number of length up to (8,2) characters. n. Status: alphanumeric of length up to 20 characters. o. Departure time: alphanumeric of length up to 20 characters. p. Arrival time: alphanumeric of length up to 20 characters. +. )rom station: alphanumeric of length up to 20 characters. r. To station: alphanumeric of length up to 20 characters. &i)' Se#rc' tr#in in&or,#tion: This screen will allow the user to find a particular train information by enter their train number in textbox. Addnew/updation/deletion cannot be performed. The fields of this screen are same as in train information screen. &)' Se#rc' p#ssen-er in&or,#tion: this screen will allow the user to find a particular passenger information by enter their pnr number in textbox. Addnew/updation/deletion cannot be performed. The fields of this screen are same as in passenger information screen. 8l &)i' Se#rc' &#re in&or,#tion: this screen will allow the user to find a particular train's fare by enter their train number in textbox. Addnew/updation/deletion cannot be performed. The fields of this screen are same as in fare information screen. &)ii' Se#rc' root in&or,#tion: This screen will allow the user to find a particular train's root by enter their train number in textbox. Addnew/updation/deletion cannot be performed. The fields of this screen are same as in root information screen. &)iii' Se#rc' st#&& in&or,#tion: this screen will allow the user to find a particular staff's member information by enter their staff's id in textbox. Addnew/updation/deletion cannot be performed. The fields of this screen are same as in staff information screen.
82 2. So&t(#re product &e#tures: Tr#in in&or,#tion: Description The system will maintain information about various Trains. The following information would be maintained for each trains: train_no, train_name, source, destination, departure_time, arrival_time, category, total_distance, vial, via2, via3, via4. The system will be allow creation/modification/deletion of new/exiting train. V'li*it6 checB .#/ Train number will be unique for every train and should not be greater than 2l characters. .!/Train name cannot be blank and should be less than 5l characters. .c/Source cannot be blank and should be less than 2l characters. .d/Destination cannot be blank and should be less than 2l characters. . 83 .e/Departure time cannot be blank and should be less than 2l characters. . .&/ Arrival time cannot be blank and should be less than 2l characters. . .-/Category cannot be blank and should beless then 2l characters. .'/Total distance cannot be blank and should be less than 2l Error h'n*in5-res4onse to ';norm'l situ'tion Error handling is applied to the save submenu to handle the error at run time. lf any error is occurred during save operation then it will handle and save operation will be terminated and project will continued. lf any of the above validation does not hold true, appropriate error messages will be prompted to the user for doing the needful 3're inform'tion: Description The system will maintain information about Fare of Trains. The following information would be maintained for each trains: train_no, train_name, sleeper_vial, sleeper_via2, sleeper_via3, sleeper_via4, ac3_vial, 84 ac3_via2, ac3_via3, ac3_via4, ac2_vial, ac2_via2, ac2_via3, ac2_via4, acl_vial, acl_via2, acl_via3, acl_via4, sleeper_s_to_d, ac3_s_to_d, ac2_s_to_d, acl_s_to_d. The system will be allow creation/modification/deletion of new/exiting train. V'li*it6 checBs .#/Train number will be unique for every train and should not be greater than 2l characters. .!/Train name cannot be blank and should be less than 5l characters. .c/Sleeper_vial cannot be blank and should be less than 2l characters. .d/Sleeper_via2 cannot be blank and should be less than 2l characters. . .e/Sleeper_via3 cannot be blank and should be less than 2l characters. . .&/ Sleeper_via4 cannot be blank and should be less than 2l characters. . 85 .-/Ac3_vial cannot be blank and should be less than 2l characters. .'/Ac3_via2 cannot be blank and should be less than 2l characters. .i/ Ac3_via3 cannot be blank and should be less than 2l characters. .0/ Ac3_via4 cannot be blank and should be less than 2l characters. .1/Ac2_vial cannot be blank and should be less than 2l characters. .%/ Ac2_via2 cannot be blank and should be less than 2l characters. .,/ Ac2_via3 cannot be blank and should be less than 2l characters. .n/Ac2_via4 cannot be blank and should be less than 2l characters. .o/Acl_vial cannot be blank and should be less than 2l characters. .p/Acl_via2 cannot be blank and should be less than 2l characters. 86 .+/Acl_via3 cannot be blank and should be less than 2l characters. .r/ Acl_via4 cannot be blank and should be less than 2l characters. Error h'n*in5-res4onse to ';norm'l situ'tion Error handling is applied to the save submenu to handle the error at run time. lf any error is occurred during save operation then it will handle and save operation will be terminated and project will continued. lf any of the above validation does not hold true ,appropriate error messages will be prompted to the user for doing the needful. St'ff inform'tion Description The system will maintain information about various staff member being worked in the railway reservation system. The following information would be maintained for each staff member: staff_lD, name, age, gender, d_o_b, d_o_j, d_o_w, post, department, address. 3#%idit4 c'ec1 .#/ Staff_id cannot be blank and should be less than 2l characters. .!/ Name cannot be blank and should be less than 2l characters. 87 .c/ Age cannot be blank and should be less than 4 characters. .d/ Gender cannot be blank and should be less than 6 characters. .e/ D_o_f cannot be blank and should be date format. .&/ D_o_j cannot be blank and should be date format. .-/ D_o_w cannot be blank and should be date format. .'/ Post cannot be blank and should be less than 2l characters. .i/ Department cannot be blank and should be less than 2l characters. .0/ Address cannot be blank and should be less than 50 characters. 5. So&t(#re s4ste, Attri!utes: (i) Securit4: The application will be password protected .users will have to enter correct username, and password in lower case in order to access the application. (ii) M#int#in#!i%it4: The application will be designed in a manner. lt will be easy to incorporate new requirement the individual modules (i.e. train information, fare information, root information, schedule information, staff information, ticket reservation,ticket cancellation.) 88 (iii) Port#!i%it4: The application will be portable on any window based system that has oracle 8i. 5. 6o-ic#% )#t#!#se Re+uire,ent: The following information will be placed in a database: &i' Tr'in inform'tion: train_no, train_name, source, destination, departure_time, arrival_time, category, total_distance, vial, via2, via3, via4. &ii' 3're inform'tion: train_no, train_name, sleeper_vial, sleeper_via2, sleeper_via3, sleeper_via4 , ac3_vial, ac3_via2, ac3_via3, ac3_via4, ac2_vial, ac2_via2, ac2_via3, ac2_via4, acl_vial, acl_via2, acl_via3, acl_via4 sleeper_s_to_d, ac3_s_to_d, ac2_s_to_d, acl_s_to_d.
Session & (efore eFecution (l) 4ur4ose: to check authorized person who can access the project. (2) 4re+con*ition: None (3) in4ut: user_id (RAlLWAY) AND password (RESERVATlON) (4) eFecute* out4ut: login is successful and open the main page. (5) Post+con*ition?if 'n6@: if login is successful, then open the main page and close the login form. (6) =ritten ;6: BEENU SAlNl (7) *'te: 20-09-2009 After eFecution (l) eFecution histor6: login failed (2) result: invalid user_id or password. (3) if f'il/ 'n6 4ossi;le re'son?if 'n6@: wrong password or login_id (4) 'n6 other o;ser7'tion: case sensitive 97 (5) 'n6 su55estion: change the input case ?"@ run ;6: Am'r N'th P'n*e6 (7) *'te: <!-09-2009 )SERDLO9IN Session < (efore eFecution (l) 4ur4ose: to check authorized person (2) 4re+con*ition: none (3) in4ut: user_id(railway) AND password (reservation) (4) eF4ecte* out4ut: login is successfully completed and open the main page (5) 4ost+con*ition: if login is successful then open the main page ?"@ =ritten ;6: (EEN) SAINI ?.@ *'te: 20-09-2009 After eFecution (l) eFecution histor6: login successed (2) result: login is successful ?#@ if f'ils/ 'n6 4ossi;le re'son?if 'n6@: None 98 (4) An6 o;ser7'tion: none (5) An6 su55estion: none ?"@ Run ;6: Am'r N'th P'n*e6 (7) 2'te: 20-09-2009 Tr'in inform'tion Session & After eFecution ?&@ 4ur4ose: search the record. ?<@ Pre+con*ition?if 'n6@: none ?#@ In4ut: train_no (202l), ?%@ EFecute* out4ut: search the record. train_name (rajdhani express), source (new delhi), destination (patna), deperture_time(l2:00 pm), arrival_time (same day 8:25 pm), category(express), 99 total_distance (900 km.), via_l (kanpur), via_2 (luckhnow), via_3 (gorakhpur), via_4 (mujafarpurr), ?$@ Post con*ition?if 'n6@: none ?"@ Written ;6: (EEN) SAINI ?.@ 2'te: 20-09-2009 After eFecution ?&@ EFecution histor6: successfully search the record. ?<@ Result: searching completed. ?#@ if f'il/ 'n6 re'sons?if 'n6@: no. ?%@ An6 o;ser7'tion: none. ?$@ An6 su55estion: none ?"@ Run ;6: Am'r N'th P'n*e6. ?.@ 2'te: 20-09-2009 Session < l00 (efore eFecution ?&@ 4ur4ose: search the record . ?<@ 4re+con*ition: none ?#@ in4ut: train_no (2554) ?%@ EFecute* out4ut: search the record. train_name (swatantra sainani express), source (new delhi), destination (darbhanga), deperture_time(08:30 pm), arrival_time (next day 06:30 pm), category (express), total_distance (l350 km.), via_l (kanpur), via_2 (allhabad), via_3 (varanasi), via_4 (mujafarpurr), l0l (l) 4ost+con*ition: none ?<@ =ritten ;6: (EEN) SAINI (3) *'te: 20-09-2009 After eFecution: (l) eFecution histor6: successfully search the record. (2) result: searching is complete. (3) if f'il / 'n6 re'son ?if 'n6@: no (4) 'n6 re'son: no (5) 'n6 su55estion: no (6) run ;6: Amar Nath Pandey. ?.@ *'te: <!+C+<!!C l02 2ATA-TA(LE STR)CT)RE & )SERDLO9IN S. NO. FlELD NAME DATA TYPE WlDT H Constraints l. USER_lD VARCHAR2 20 Primary key 2. PASSWORD VARCHAR2 20 < A2MINISTRATERDLO9IN S. NO. FlELD NAME DATA TYPE WlDT H Constraints l. ADMlNlSTRATER_lD VARCHAR2 20 Primary key 2. PASSWORD VARCHAR2 20 l03 # TRAIN IN3ORMATION S. NO. FlELD NAME DATA TYPE WlDTH Constraints l. TRAlN NO. VARCHAR2 20 Primary key 2. TRAlN NAME VARCHAR2 50 3. SOURCE VARCHAR2 20 4. DESTlNATlON VARCHAR2 20 5. DEPERTURE TlME VARCHAR2 20 6. ARRlVAL TlME VARCHAR2 20 7. CATEGORY VARCHAR2 20 8. TOTAL_DlSTANCE VARCHAR2 20 9. VlA_l VARCHAR2 20 l0. VlA_2 VARCHAR2 20 ll. VlA_3 VARCHAR2 20 l2. VlA_4 VARCHAR2 20 l04 % 3ARE IN3ORMATION S. NO. FlELD NAME DATA TYPE WlDTH Constraints l. TRAlN NO. VARCHAR2 20 Foreign key 2. TRAlN NAME VARCHAR2 50 3. SLEEPER_VlA l NUMBER (8,2) 4. SLEEPER_VlA 2 NUMBER (8,2) 5. SLEEPER_VlA 3 NUMBER (8,2) 6. SLEEPER_VlA 4 NUMBER (8,2) 7. AC3_VlA l NUMBER (8,2) 8. AC3_VlA 2 NUMBER (8,2) 9. AC3_VlA 3 NUMBER (8,2) l0. AC3_VlA 4 NUMBER (8,2) ll. AC2_VlA l NUMBER (8,2) l2. AC2_VlA 2 NUMBER (8,2) l3. AC2_VlA 3 NUMBER (8,2) l4. AC2_VlA 4 NUMBER (8,2) l5. ACl_VlA l NUMBER (8,2) l6. ACl_VlA 2 NUMBER (8,2) l05 l7. ACl_VlA 3 NUMBER (8,2) l8. ACl_VlA 4 NUMBER (8,2) l9. SLEEPER_S_T O_D NUMBER (8,2) 20. AC3_S_TO_D NUMBER (8,2) 2l. AC2_S_TO_D NUMBER (8,2) 22. ACl_S_TO_D NUMBER (8,2) $ RESERVATION
S. NO. FlELD NAME DATA TYPE WlDTH Constraints l. TRAlN NO. VARCHAR2 20 Foreign key 2. TRAlN NAME VARCHAR2 50 3. SOURCE VARCHAR2 20 4. DESTlNATlON VARCHAR2 20 5. NAME VARCHAR2 20 6. AGE NUMBER (3) 7. GENDER VARCHAR2 6 8. QUOTA VARCHAR2 20 l06 9. D_O_T DATE l0. CONTACT_NO NUMBER (20) ll. ADDRESS VARCHAR2 50 l2. SEAT_NO NUMBER (2) l3. COACH_NO VARCHAR2 20 l4. PNR_NO VARCHAR2 20 Foreign key l5. FARE NUMBER (8,2) l6. STATUS VARCHAR2 20 l7. DEPERTURE_TlM E VARCHAR2 20 l8. ARRlVAL_TlME VARCHAR2 20 l9. FROM_STATlON VARCHAR2 20 20. TO_STATlON VARCHAR2 20 " CANCELLATION
S. NO. FlELD NAME DATA TYPE WlDTH Constraints l. PNR_NO VARCHAR2 20 Foreign key 2. TRAlN_NO VARCHAR2 20 Foreign key 3. TRAlN_NAME VARCHAR2 50 4. SOURCE VARCHAR2 20 5. DESTlNATlON VARCHAR2 20 6. NAME VARCHAR2 20 7. AGE NUMBER (3) l07 8. GENDER VARCHAR2 6 9. QUOTA VARCHAR2 20 l0. D_O_T DATE ll. CONTACT_NO NUMBER (20) Foreign key l2. ADDRESS VARCHAR2 50 l3. RETURN_FARE NUMBER (8,2) l4. STATUS VARCHAR2 20 l5. DEPERTURE_TlM E VARCHAR2 20 l6. ARRlVAL_TlME VARCHAR2 20 l7. FROM_STATlON VARCHAR2 20 l8. TO_STATlON VARCHAR2 20 . PASSEN9ER IN3ORMATION S. NO. FlELD NAME DATA TYPE WlDTH Constraints l. PNR_NO. VARCHAR2 20 Primary key 2. TRAlN_NAME VARCHAR2 20 3. TRAlN_NO VARCHAR2 20 Foreign key 4. SOURCE VARCHAR2 20 5. DESTlNATlON VARCHAR2 20 6. NAME VARCHAR2 20 7. AGE NUMBER (3) 8. GENDER VARCHAR2 6 l08 9. QUOTA VARCHAR2 20 l0. D O T DATE ll. CONTACT_NO NUMBER (20) l2. ADDRESS VARCHAR2 50 l3. STATUS VARCHAR2 20 l4. SEAT_NO NUMBER (2) l5. DEPERTURE_TlM E VARCHAR2 20 l6. ARRlVAL_TlME VARCHAR2 20 l7. FROM_STATlON VARCHAR2 20 l8. TO_STATlON VARCHAR2 20 l9. COACH_NO VARCHAR2 20 l09 , STA33 IN3ORMATION S. NO. FlELD NAME DATA TYPE WlDTH Constraints l. lD VARCHAR2 20 Primary key 2. NAME VARCHAR2 20 3. AGE Number 3 4. GENDER VARCHAR2 6 5. D_O_B DATE 6. D_O_J DATE 7. D_O_W DATE 8. POST VARCHAR2 20 9. DEPARTMENT VARCHAR2 20 l0. ADDRESS VARCHAR2 200 C ROOT IN3ORMATION
S. NO. FlELD NAME DATA TYPE WlDTH Constraints l. TRAlN_NO VARCHAR2 20 Foreign key 2. TRAlN_NAME VARCHAR2 50 3. VlAl VARCHAR 20 ll0 4. VlA2 VARCHAR2 20 5. VlA3 VARCHAR2 20 6. VlA4 VARCHAR2 20 7. DlSTANCEl VARCHAR2 20 8. DlSTANCE2 VARCHAR2 20 9. DlSTANCE3 VARCHAR2 20 l0. DlSTANCE4 VARCHAR2 20 ll. DEPERTUREl_TlM E VARCHAR2 20 l2. DEPERTUREl_TlM E VARCHAR2 20 l3. DEPERTUREl_TlM E VARCHAR2 20 l4. DEPERTUREl_TlM E VARCHAR2 20 l5. ARRlVAL_TlME VARCHAR2 20 l6. ARRlVAL_TlME VARCHAR2 20 l7. ARRlVAL_TlME VARCHAR2 20 l8. ARRlVAL_TlME VARCHAR2 20 l9. SOURCE VARCHAR2 20 20. DESTlNATlON VARCHAR2 20 2l. S_DEPERTURE_Tl ME VARCHAR2 20 22. D_ARRlVAL_TlME VARCHAR2 20 &"! SC>E,:6E /20R4AT/0 lll S. NO. FlELD NAME DATA TYPE WlDTH Constraints l. TRAlN NO. VARCHAR2 20 Primary key 2. TRAlN NAME VARCHAR2 50 3. DEPERTURE TlME VARCHAR2 20 4. ARRlVAL TlME VARCHAR2 20 5. STOP TlME VARCHAR2 l0 6. DELAY TlME VARCHAR2 l0 ll2
ll3 )SER LO9IN TA(LE:+ ame ,ata Ty+e 6engt* Constraints descri+tion CserBid +archar, (,-) &rimary key user id will store the id of user who can access the pro1ect CserBpassword +archar, (,-) 'ot null &assword TRAIN IN3ORMATION TA(LE:+ ame ,ata Ty+e 6engt* Constraints ,escri+tion TrainBno +archar, (,-) &rimary key This field is used for store the number of train. TrainBname +archar, (.-) 'ot null This field is store the name of train. source +archar, (,-) 'ot null This field is store the name of source station of trains. destination +archar, (,-) 'ot null This field is store the name of destination station of trains. "epertureBtime +archar, (,-) 'ot null This field is used for store the source6s departure time of train. ll4 ArrivalBtime +archar, (,-) 'ot null This field is used for store the destination6s arrival time of train. category +archar, (,-) 'ot null This field is store the category of train. (ex express#superfast etc.) TotalBdistance +archar, (,-) 'ot null This field is store the total distance of train 1ourney in km. +iaB0 +archar, (,-) 'ot null This field is store the name of first via station of a train 1ourney. +iaB, +archar, (,-) 'ot null This field is store the name of second via station of a train 1ourney. +iaB< +archar, (,-) 'ot null This field is store the name of third via station of a train 1ourney. +iaB= +archar, (,-) 'ot null This field is store the name of fourth via station of a train 1ourney. ll5 3ARE IN3ORMATION:+ ame ,ata Ty+e 6engt* Constraints ,escri+tion TrainBno +archar, (,-) &rimary key This field is used for store the number of train. TrainBname +archar, (.-) 'ot null This field is store the name of train. %leeperBvia0 number (E#,) 'ot null This field is store the fare of source to via0 of train 1ourney in sleeper class. %leeperBvia, number (E#,) 'ot null This field is store the fare of source to via, of train 1ourney in sleeper class. %leeperBvia< number (E#,) 'ot null This field is store the fare of source to via< of train 1ourney in sleeper class. %leeperBvia= number (E#,) 'ot null This field is store the fare of source to via= of train 1ourney in sleeper class. Ac<Bvia0 number (E#,) 'ot null This field is store the fare of source to via0 of train Hourney in ac< class. Ac<Bvia, number (E#,) 'ot null This field is store the fare of source to via, of train 1ourney in ac< class. Ac<Bvia< number (E#,) 'ot null This field is store the fare of source to via< of train 1ourney in ac< class. Ac<Bvia= number (E#,) 'ot null This field is store the fare of ll6 source to via= of train 1ourney in ac< class. Ac,Bvia0 number (E#,) 'ot null This field is store the fare of source to via0 of train 1ourney in ac, class. Ac,Bvia, number (E#,) 'ot null This field is store the fare of source to via, of train 1ourney in ac, class. Ac,Bvia< number (E#,) 'ot null This field is store the fare of source to via< of train 1ourney in ac, class. Ac,Bvia= number (E#,) 'ot null This field is store the fare of source to via= of train 1ourney in ac, class. Ac0Bvia0 number (E#,) 'ot null This field is store the fare of source to via0 of train Hourney in ac0 class. Ac0Bvia, number (E#,) 'ot null This field is store the fare of source to via, of train 1ourney in ac0 class. Ac0Bvia< number (E#,) 'ot null This field is store the fare of source to via< of train 1ourney in ac0 class. Ac0Bvia= number (E#,) 'ot null This field is store the fare of source to via= of train 1ourney in ac0 class. %leeperBsBtoBd number (E#,) 'ot null This field is store the fare of source to destination of train Hourney in sleeper class. Ac<BsBtoBd number (E#,) 'ot null This field is store the fare of source to destination of ll7 train 1ourney in ac< class. Ac,BsBtoBd number (E#,) 'ot null This field is store the fare of source to destination of train 1ourney in ac, class. Ac0BsBtoBd number (E#,) 'ot null This field is store the fare of source to destination of train 1ourney in ac0 class. TICHET RESERVATION TA(LE:+ ame ,ata Ty+e 6engt* Constraints ,escri+tion TrainBno +archar, (,-) &rimary key This field is used for store the number of train. TrainBname +archar, (.-) 'ot null This field is store the name of train. source +archar, (,-) 'ot null This field is store the name of source station of trains. destination +archar, (,-) 'ot null This field is store the name of destination station of trains. name +archar, (,-) 'ot null 'ame of the passenger. age number (<) 'ot null Age of the ll8 passenger gender +archar, (F) 'ot null :ender 4uota +archar, (,-) 'ot null 9uota of the passenger. (ex general 4uota# senior citizen 4uota etc) "BoBt date 'ot null "ate of traveling. $ontactBno number (,-) 'ot null $ontact number of the passenger address +archar, (.-) 'ot null Address of the passenger. %eatBno number (,) 'ot null This field is store the seat number in the train. $oachBno +archar, (,-) 'ot null This field is store the coach number. &nrBno +carchar, (,-) *oreign key This field is store the pnr number. &nr number is used for identify the passengers tickets. fare number (E#,) 'ot null This field is store the *are which is paid by the passengers for ticket reservation. status +archar, (,-) 'ot null This field is store ll9 the status. (ex sleeper#ac<#ac,# ac0) "epertureBtime +archar, (,-) 'ot null This field is used for store the source6s departure time of train. ArrivalBtime +archar, (,-) 'ot null This field is used for store the destination6s arrival time of train. *romBstation +archar, (,- 'ot null This field is store the station name where you want to start the 1ourney in train. ToBstation +archar, (,-) 'ot null This field is store the station name where you want to end the 1ourney in the train. TICHET CANCELLATION:+ ame ,ata Ty+e 6engt* Constraints ,escri+tion &nrBno +carchar, (,-) *oreign key This field is store l20 the pnr number. &nr number is used for identify the passengers tickets. TrainBno +archar, (,-) &rimary key This field is used for store the number of train. TrainBname +archar, (.-) 'ot null This field is store the name of train. source +archar, (,-) 'ot null This field is store the name of source station of trains. destination +archar, (,-) 'ot null This field is store the name of destination station of trains. name +archar, (,-) 'ot null 'ame of the passenger. age number (<) 'ot null Age of the passenger gender +archar, (F) 'ot null :ender 4uota +archar, (,-) 'ot null 9uota of the passenger. (ex general 4uota# senior citizen 4uota etc) "BoBt date 'ot null "ate of traveling. $ontactBno number (,-) 'ot null $ontact number of the passenger l2l address +archar, (.-) 'ot null Address of the passenger. !eturnBfare number (E#,) 'ot null This field is store the return *are which is returned by the railway to passenger for ticket cancellation. status +archar, (,-) 'ot null This field is store the status. (ex sleeper#ac<#ac,# ac0) "epertureBtime +archar, (,-) 'ot null This field is used for store the source6s departure time of train. ArrivalBtime +archar, (,-) 'ot null This field is used for store the destination6s arrival time of train. *romBstation +archar, (,- 'ot null This field is store the station name where you want to start the 1ourney in train. ToBstation +archar, (,-) 'ot null This field is store the station name where you want to end the 1ourney in the train. l22 PASSEN9ER IN3ORMATION:+ ame ,ata Ty+e 6engt* Constraints ,escri+tion &nrBno +carchar, (,-) *oreign key This field is store the pnr number. &nr number is used for identify the passengers tickets. TrainBname +archar, (.-) 'ot null This field is store the name of train. TrainBno +archar, (,-) &rimary key This field is used for store the number of train. source +archar, (,-) 'ot null This field is store the name of source station of trains. destination +archar, (,-) 'ot null This field is store the name of destination station of trains. name +archar, (,-) 'ot null 'ame of the passenger. age number (<) 'ot null Age of the passenger gender +archar, (F) 'ot null :ender l23 4uota +archar, (,-) 'ot null 9uota of the passenger. (ex general 4uota# senior citizen 4uota etc) "BoBt date 'ot null "ate of traveling. $ontactBno number (,-) 'ot null $ontact number of the passenger address +archar, (.-) 'ot null Address of the passenger. status +archar, (,-) 'ot null This field is store the status. (ex sleeper#ac<#ac,# ac0) %eatBno number (,) 'ot null This field is store the seat number in the train. "epertureBtime +archar, (,-) 'ot null This field is used for store the source6s departure time of train. ArrivalBtime +archar, (,-) 'ot null This field is used for store the destination6s arrival time of train. *romBstation +archar, (,- 'ot null This field is store the station name where you want to start the 1ourney in train. l24 ToBstation +archar, (,-) 'ot null This field is store the station name where you want to end the 1ourney in the train. $oachBno +archar, (,-) 'ot null This field is store the coach number. St'ff Inform'tion T';le:+ N'me 2't' T64e Len5th Constr'ints 2escri4tio n id +archar, (,-) &rimary key %taff identification number. name +archar, (,-) 'ot null 'ame of the staff member. age 'umber (<) 'ot null %taff member 5s age :ender +archar, (F) 'ot null :ender (female>male) "BoBb date 'ot null "tae of birth. l25 "BoB1 date 'ot null "tae of 1oining. "BoBw "ate 'ot null "ate of writierment. &ost +archar, (,-) 'ot null &ost of the staff member. "epartment +archar, (,-) 'ot null department of the staff member. address +archar, (.-) 'ot null address of the staff member. l26 ROOT IN3ORMATION:+ l27 l28 *ield +ame Data !ype $engt, Constraint Des-ription TrainBno +archar, (,-) &rimary key This field is used for store the number of train. TrainBname +archar, (.-) 'ot null This field is store the name of train. +iaB0 +archar, (,-) 'ot null This field is store the name of first via station of a train 1ourney. +iaB, +archar, (,-) 'ot null This field is store the name of second via station of a train 1ourney. +iaB< +archar, (,-) 'ot null This field is store the name of third via station of a train 1ourney. +iaB= +archar, (,-) 'ot null This field is store the name of fourth via station of a train 1ourney. "istance0 +archar, (,-) 'ot null This field is store the distance in km. between source to via0 of the train 1ourney. "istance, +archar, (,-) 'ot null This field is store the distance in km. between source to via, of the train 1ourney. "istance< +archar, (,-) 'ot null This field is store the distance in km. between source to via< of the train 1ourney. "istance= +archar, (,-) 'ot null This field is store the distance in km. between source to via= of the train 1ourney. SC0E2)LE IN3ORMATION:+ *ield +ame Data !ype $engt, Constraints Description TrainBno +archar, (,-) &rimary key This field is used for store the number of train. TrainBname +archar, (.-) 'ot null This field is store the name of train. "epertureBtime +archar, (,-) 'ot null This field is used for store the sources departure time of train. ArrivalBtime +archar, (,-) 'ot null This field is used for store the destinations arrival time of train. %topBtime +archar, (,-) not null This field store l29 the stop time of train journey. Delay_time Varchar2 (20) not null This field store the delay time of train journey. l30 SPLASE SCREEN
l3l LOGlN FORM
l32 HOME PAGE l33 HOME PAGE FlLE MENU
l34 HOME PAGE VlEW MENU
l35 HOME PAGE TOOLS MENU
l36 HOME PAGE HELP MENU l37 ADDMlNlSTRATOR_LOGlN FORM
l38 TRAlN_lNFORMATlON lNPUT FORM
l39 TRAlN_lNFORMATlON OUTPUT FORM
l40
FARE_lNFORMATlON lNPUT FORM
FARE_lNFORMATlON OUTPUT FORM l4l
l42 RESERVATlON lNPUT FORM
l43
l44 CANCELLATlON lNPUT FORM
l45 CANCELLATlON OUTPUT FORM
l46 PASSENGER_lNFORMATlON lNPUT FORM
l47 PASSENGER_lNFORMATlON OUTPUT FORM
l48 STAFF_lNFORMATlON lNPUT FORM
l49 STAFF_lNFORMATlON OUTPUT FORM
l50 ROOT_lNFORMATlON lNPUT FORM
l5l ROOT_lNFORMATlON OUTPUT FORM
l52 SCHEDULE lNFORMATlOlN lNPUT FORM l53 SCHEDULE lNFORMATlON OUTPUT FORM
l54 SEARCH TRAlN lNFORMATlON lNPUT FORM
l55 SEARCH TRAlN lNFORMATlON OUTPUT FORM
l56 SEARCH FARE lNFORMATlON lNPUT FORM
l57 SEARCH FARE lNFORMATlON OUTPUT FORM
l58 SEARCH RESERVATlON lNFORMATlON lNPUT FORM
l59 SEARCH RESERVATlON lNFORMATlON OUTPUT FORM
l60 SEARCH CANCELLATlON lNPUT FORM
l6l SEARCH CANCELLATlON OUTPUT FORM
l62 Search passenger information input form
l63
l64 Search passenger information output form
l65
SEARCH STAFF lNFORMATlON lNPUT FORM
l66 SEARCH SCHEDULE lNFORMATlON lNPUT FORM
l67 SEARCH SCHEDULE lNFORMATlON OUTPUT FORM
l68 SEARCH ROOT lNFORMATlON lNPUT FORM
l69 SEARCH ROOT lNFORMATlON OUTPUT FORM
l70 SEARCH SCHEDULE lNFORMATlON lNPUT FORM
l7l SEARCH SCHEDULE lNFORMATlON OUTPUT FORM
l72 CHANGE PASSWORD l73 TRAlN lNFORMATlON REPORT
l74 RESERVATlON lNFORMATlON REPORT
l75 CANCELLATlON lNFORMATlON REPORT
l76 FARE lNFORMATlON REPORT
l77 ROOT lNFORMATlON REPORT l78 ABOUT FORM l79 l80 &)SERDLO9IN:+ This module includes the details about the user means who use this software. And the details are like as user id and password. <A2MINISTRATER LO9IN:+ This module includes the details about administrator like administrator id and password. ;ecause a administrator have all permission related to record like updation# deletion and etc. # TRAIN IN3ORMATION:+ This module includes the details about the train which is in running operation in the Indian railway having reservation facility. And the details are train no# train name# source# destination# arrival time# departure time and etc. % 3ARE IN3ORMATION:+ This module includes the details about the fare of train. The fare of ticket depends on the route# it means from source station to route. *or this# this module includes the all basic information like l8l what is the fare of source to particular routeA. And the details are train no# train name# class and etc. $ RESERVATION:+ This module includes the details about the reservation made by the passenger. And the details are pnr no# train no# train name# source# destination# fare# paid fare# d o trav and etc. " CANCELLATION:+ This module includes the details about the cancellation of ticket which is issued by Indian railway. The details are pnr no# train no# train name# source# destination# cancellation amount and return amount and etc. . PASSEN9ER IN3ORMATION:- This module includes the details about the passenger who comes to make the reservation. And the details are like as pnr no# name# address# tel no and etc. , STA33 IN3ORMATION:+ This module includes the details about the staff who is working in the reservation center and who make the l82 reservation. And the details are like as staff id# staff name# staff address# d o b# d o 1 and etc. C ROOTS IN3ORMATION:+ this module includes the details about the root on which any train of Indian rail runs. And for which a passenger can make the reservation. And the details are like as train no# train name# root0# root,# root<# fare0# fare,# fare<# class and etc. &! TRAIN SC0E2)LE:+ this module includes the details of train scheduling. And the details are like train no# train name# arrv time# dept time# stop time# delay time and etc. l83 T*is so-tware +rocesses in t*e -ollowing manner: l84 The passenger will visit the reservation center for reserving the Ticket in the train. *or this purpose he>she has to specify the source and the destination and the date for which the reservation is re4uired. And also he>she has to fill the passenger detail form like their name# address and telephone number. The operator would check for the status of the train re4uired by the passenger. If there are enough vacant seats available# the reservation will be confirmed. A ticket for the train will be issued to the passenger after accepting the fares for the train. The fares are different for adult and child as well they also depend upon the $lass of %eats e.g. for first class and for economy class there are different fares. "epending upon passenger6s re4uirement appropriate fares will be charged for traveling.
l85
l86 CODlNG OF SPLASH SCREEN Public NotInheritable Class SplashScreen1 'TODO: This form can easily be set as the splash screen for the application by going to the "pplication" tab ' of the Pro!ect Designer ""Properties" un#er the "Pro!ect" menu$% Pri&ate Sub SplashScreen1'(oa#")y*al sen#er s Ob!ect+ )y*al e s System%,&entrgs$ -an#les .e%(oa# 'Set up the #ialog te/t at runtime accor#ing to the application's assembly information% 'TODO: Customi0e the application's assembly information in the "pplication" pane of the pro!ect ' properties #ialog "un#er the "Pro!ect" menu$% 'pplication title If .y%pplication%Info%Title 12 "" Then pplicationTitle%Te/t 3 .y%pplication%Info%Title ,lse l87 'If the application title is missing+ use the application name+ 4ithout the e/tension pplicationTitle%Te/t 3 System%IO%Path%5et6ileName7ithout,/tension".y%pplication%Info%ssemblyName$ ,n# If '6ormat the &ersion information using the te/t set into the *ersion control at #esign time as the ' formatting string% This allo4s for effecti&e locali0ation if #esire#% ' )uil# an# re&ision information coul# be inclu#e# by using the follo4ing co#e an# changing the ' *ersion control's #esigntime te/t to "*ersion 89:%81:99:%8;:%8<:" or something similar% See ' String%6ormat"$ in -elp for more information% ' ' *ersion%Te/t 3 System%String%6ormat"*ersion%Te/t+ .y%pplication%Info%*ersion%.a!or+ .y%pplication%Info%*ersion%.inor+ .y%pplication%Info%*ersion%)uil#+ .y%pplication%Info%*ersion%=e&ision$ *ersion%Te/t 3 System%String%6ormat"*ersion%Te/t+ .y%pplication%Info%*ersion%.a!or+ .y%pplication%Info%*ersion%.inor$ 'Copyright info l88 Copyright%Te/t 3 .y%pplication%Info%Copyright Timer1%Start"$ ,n# Sub Pri&ate Sub Timer1'Tic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les Timer1%Tic> Progress)ar1%*alue"$ 3 Progress)ar1%*alue ? 19 If Progress)ar1%*alue Then Timer1%Stop"$ login%Sho4"$ .e%-i#e"$ ,n# If ,n# Sub Pri&ate Sub .ain(ayoutPanel'Paint")y*al sen#er s System%Ob!ect+ )y*al e s System%7in#o4s%6orms%Paint,&entrgs$ -an#les .ain(ayoutPanel%Paint ,n# Sub
,n# Class l89 CODlNG OF LOGlN FORM Public Class login Dim =S s DOD)%=ecor#set Pri&ate Sub )utton1'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les )utton1%Clic> Call main"$ =S 3 Ne4 DOD)%=ecor#set =S%Open""S,(,CT @ 6=O. (O5IN"+ con+ DOD)%CursorType,num%a#OpenDynamic+ DOD)%(oc>Type,num%a#(oc>Optimistic$ If Te/t)o/1%Te/t 3 "" Or Te/t)o/;%Te/t 3 "" Then .sg)o/""P(A 6I(( IN T-, )(NBS"+ .sg)o/Style%Critical$ ,lse Dim 6 s )oolean 6 3 6alse Do 7hile "=S%,O6 12 True$ If (Case"Te/t)o/1%Te/t$ 3 (Case"=S%6iel#s"9$%*alue$ n# (Case"Te/t)o/;%Te/t$ 3 (Case"=S%6iel#s"1$%*alue$ Then 6 3 True l90 ,/it Do ,lse =S%.o&eNe/t"$ ,n# If (oop If 6 3 True Then home'page%Sho4"$ .e%Close"$ ,lse .sg)o/""IN*(ID ID O= PSS7O=D"$ ,n# If ,n# If ,n# Sub Pri&ate Sub login'(oa#")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les .y)ase%(oa# ,n# Sub ,n# Class l9l CODlNG OF HOME PAGE Imports System%7in#o4s%6orms Public Class home'page
Pri&ate Sub )OCTP=OD,CTToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les )OCTP=OD,CTToolStrip.enuItem%Clic> bout)o/1%Sho4"$ ,n# Sub Pri&ate Sub T=IND,TI(ToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les T=IND,TI(ToolStrip.enuItem%Clic> train'information%Sho4"$ ,n# Sub Pri&ate Sub =OCT,D,TI(ToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les =OCT,D,TI(ToolStrip.enuItem%Clic> 6=,'IN6O=.TION%Sho4"$ ,n# Sub Pri&ate Sub =,S,=*TIOND,TI(ToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les =,S,=*TIOND,TI(ToolStrip.enuItem%Clic> =,S,=*TION%Sho4"$ ,n# Sub l92 Pri&ate Sub CNC,((TIOND,TI(ToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les CNC,((TIOND,TI(ToolStrip.enuItem%Clic> cancellation%Sho4"$ ,n# Sub Pri&ate Sub PSS,N5,=D,TI(ToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les PSS,N5,=D,TI(ToolStrip.enuItem%Clic> PSS,N5,='IN6O=.TION%Sho4"$ ,n# Sub Pri&ate Sub ST66D,TI(ToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les ST66D,TI(ToolStrip.enuItem%Clic> ST66'IN6O=.TION%Sho4"$ ,n# Sub Pri&ate Sub =OCT,D,TI(ToolStrip.enuItem1'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les =OCT,D,TI(ToolStrip.enuItem1%Clic> root'information%Sho4"$ l93 ,n# Sub Pri&ate Sub SC-,DC(,D,TI(ToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les SC-,DC(,D,TI(ToolStrip.enuItem%Clic> 6orm<%Sho4"$ ,n# Sub Pri&ate Sub S,=C-ToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les S,=C-ToolStrip.enuItem%Clic> search'train'information%Sho4"$ ,n# Sub Pri&ate Sub C-N5,PSS7O=DToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les C-N5,PSS7O=DToolStrip.enuItem%Clic> C-N5,'PSS7O=D%Sho4"$ l94 ,n# Sub Pri&ate Sub -elp.enu'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les -elp.enu%Clic> ,n# Sub Pri&ate Sub S,=C-ToolStrip.enuItem1'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les S,=C-ToolStrip.enuItem1%Clic> search'fare'information%Sho4"$ ,n# Sub Pri&ate Sub S,=C-=,S,=*TIONToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les S,=C-=,S,=*TIONToolStrip.enuItem%Clic> search'reser&ation%Sho4"$ ,n# Sub l95 Pri&ate Sub S,=C-CNC,((TIOND,TI(ToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les S,=C-CNC,((TIOND,TI(ToolStrip.enuItem%Clic> search'cancellation%Sho4"$ ,n# Sub Pri&ate Sub S,=C-PSS,N5,=D,TI(ToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les S,=C-PSS,N5,=D,TI(ToolStrip.enuItem%Clic> search'passenger'information%Sho4"$ ,n# Sub Pri&ate Sub S,=C-ST66D,TI(ToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les S,=C-ST66D,TI(ToolStrip.enuItem%Clic> search'staff'information%Sho4"$ ,n# Sub l96 Pri&ate Sub S,=C-=OCT,D,TI(ToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les S,=C-=OCT,D,TI(ToolStrip.enuItem%Clic> search'root'information%Sho4"$ ,n# Sub Pri&ate Sub S,=C-SC-,DC(,D,TI(ToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les S,=C-SC-,DC(,D,TI(ToolStrip.enuItem%Clic> search'sche#ule'information%Sho4"$ ,n# Sub
,n# Class l97 CODlNG OF LOGlN ADMlNlSTRATOR FORM Public Class login'a#ministrator Dim rs s DOD)%=ecor#set Pri&ate Sub login'a#ministrator'(oa#")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les .y)ase%(oa# Call main"$ =S 3 Ne4 DOD)%=ecor#set =S%Open""S,(,CT @ 6=O. D.INIST=TO='(O5IN"+ con+ DOD)%CursorType,num%a#OpenDynamic+ DOD)%(oc>Type,num%a#(oc>Optimistic$ Call sho4'#ata"$ ,n# Sub Pri&ate Sub sho4'#ata"$ If rs%,O6 n# rs%)O6 3 True Then .sg)o/""there are no recor#s to sho4"+ .sg)o/Style%Critical$ ,lse Te/t)o/1%Te/t 3 rs%6iel#s"9$%*alue Te/t)o/;%Te/t 3 rs%6iel#s"1$%*alue l98 ,n# If ,n# Sub
,n# Class l99 CODING OF TRAIN INFORMATION FORM Public Class train'information Dim rs s DOD)%=ecor#set Pri&ate Sub train'information'(oa#")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les .y)ase%(oa# Call main"$ =S 3 Ne4 DOD)%=ecor#set rs%Open""S,(,CT @ 6=O. train'IN6O=.TION"+ con+ DOD)%CursorType,num%a#OpenDynamic+ DOD)%(oc>Type,num%a#(oc>Optimistic$ Call sho4'#ata"$ ,n# Sub 200 Pri&ate Sub sho4'#ata"$ If rs%,O6 n# rs%)O6 3 True Then .sg)o/""there are no recor#s to sho4"+ .sg)o/Style%Critical$ ,lse Te/t)o/1%Te/t 3 rs%6iel#s"9$%*alue Te/t)o/;%Te/t 3 rs%6iel#s"1$%*alue Te/t)o/<%Te/t 3 rs%6iel#s";$%*alue Te/t)o/E%Te/t 3 =S%6iel#s"<$%*alue Te/t)o/F%Te/t 3 =S%6iel#s"E$%*alue Te/t)o/G%Te/t 3 =S%6iel#s"F$%*alue Te/t)o/H%Te/t 3 =S%6iel#s"G$%*alue Te/t)o/I%Te/t 3 =S%6iel#s"H$%*alue 20l ,n# If ,n# Sub Pri&ate Sub Ne/tToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les Ne/tToolStrip.enuItem%Clic> rs%.o&eNe/t"$ If rs%,O6 3 True Then rs%.o&ePre&ious"$ .sg)o/""this is a last recor#"+ .sg)o/Style%Information$ ,n# If Call sho4'#ata"$ ,n# Sub 202 Pri&ate Sub CloseThe7in#o4ToolStrip.enuItem;'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les CloseThe7in#o4ToolStrip.enuItem;%Clic> .e%Close"$ ,n# Sub Pri&ate Sub Ne4ToolStrip.enuItem<'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les Ne4ToolStrip.enuItem<%Clic> rs%##Ne4"$ Te/t)o/1%Te/t 3 "" Te/t)o/;%Te/t 3 "" Te/t)o/<%Te/t 3 "" Te/t)o/E%Te/t 3 "" Te/t)o/F%Te/t 3 "" Te/t)o/G%Te/t 3 "" Te/t)o/H%Te/t 3 "" 203 Te/t)o/I%Te/t 3 "" =ecor#ToolStrip.enuItem%,nable# 3 6alse Ne4ToolStrip.enuItem%,nable# 3 6alse DeleteToolStrip.enuItem%,nable# 3 6alse ,n# Sub Pri&ate Sub Sa&eToolStrip.enuItem<'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les Sa&eToolStrip.enuItem<%Clic> If Te/t)o/1%Te/t 3 "" Or Te/t)o/;%Te/t 3 "" Or Te/t)o/<%Te/t 3 "" Or Te/t)o/E%Te/t 3 "" Or Te/t)o/F%Te/t 3 "" Or Te/t)o/G%Te/t 3 "" Or Te/t)o/H%Te/t 3 "" Or Te/t)o/I%Te/t 3 "" Then 204 .sg)o/""Pl0 6ill The )o/es )lan>"+ .sg)o/Style%Critical$ ,lse rs%6iel#s"9$%*alue 3 Te/t)o/1%Te/t rs%6iel#s"1$%*alue 3 Te/t)o/;%Te/t rs%6iel#s";$%*alue 3 Te/t)o/<%Te/t rs%6iel#s"<$%*alue 3 Te/t)o/E%Te/t rs%6iel#s"E$%*alue 3 Te/t)o/F%Te/t rs%6iel#s"F$%*alue 3 Te/t)o/G%Te/t rs%6iel#s"G$%*alue 3 Te/t)o/H%Te/t rs%6iel#s"H$%*alue 3 Te/t)o/I%Te/t rs%Cp#ate"$ .sg)o/""=ecor# Is Sa&e#"+ .sg)o/Style%Information$ rs%.o&e6irst"$ Call sho4'#ata"$ 205 =ecor#ToolStrip.enuItem%,nable# 3 True Ne4ToolStrip.enuItem%,nable# 3 True DeleteToolStrip.enuItem%,nable# 3 True ,n# If ,n# Sub Pri&ate Sub DeleteToolStrip.enuItem<'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les DeleteToolStrip.enuItem<%Clic> rs%Delete"$ .sg)o/""=ecor# Is Delete#"+ .sg)o/Style%Information$ rs%.o&e6irst"$ Call sho4'#ata"$ 206 ,n# Sub Pri&ate Sub CancelToolStrip.enuItem<'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les CancelToolStrip.enuItem<%Clic> rs%CancelCp#ate"$ rs%.o&e6irst"$ Call sho4'#ata"$ =ecor#ToolStrip.enuItem%,nable# 3 True Ne4ToolStrip.enuItem%,nable# 3 True DeleteToolStrip.enuItem%,nable# 3 True ,n# Sub 207 Pri&ate Sub 6irstToolStrip.enuItem1'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les 6irstToolStrip.enuItem1%Clic> rs%.o&e6irst"$ Call sho4'#ata"$ ,n# Sub Pri&ate Sub Pre&iousToolStrip.enuItem1'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les Pre&iousToolStrip.enuItem1%Clic> rs%.o&ePre&ious"$ If rs%)O6 3 True Then .sg)o/""this is first recor#"+ .sg)o/Style%Information$ rs%.o&eNe/t"$ ,n# If 208 Call sho4'#ata"$ ,n# Sub Pri&ate Sub (astToolStrip.enuItem;'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les (astToolStrip.enuItem;%Clic> rs%.o&e(ast"$ Call sho4'#ata"$ ,n# Sub Pri&ate Sub Te/t)o/1'(ost6ocus")y*al sen#er s Ob!ect+ )y*al e s System%,&entrgs$ -an#les Te/t)o/1%(ost6ocus If (en"Te/t)o/1%Te/t$ 2 ;9 Then .sg)o/""input #ata is too long"$ 209 ,n# If
,n# Sub Pri&ate Sub Te/t)o/;'(ost6ocus")y*al sen#er s Ob!ect+ )y*al e s System%,&entrgs$ -an#les Te/t)o/;%(ost6ocus If (en"Te/t)o/;%Te/t$ 2 ;9 Then .sg)o/""input #ata is too long"$ ,n# If ,n# Sub 2l0 Pri&ate Sub Te/t)o/<'(ost6ocus")y*al sen#er s Ob!ect+ )y*al e s System%,&entrgs$ -an#les Te/t)o/<%(ost6ocus If (en"Te/t)o/<%Te/t$ 2 ;9 Then .sg)o/""input #ata is too long"$ ,n# If ,n# Sub Pri&ate Sub Te/t)o/E'(ost6ocus")y*al sen#er s Ob!ect+ )y*al e s System%,&entrgs$ -an#les Te/t)o/E%(ost6ocus If (en"Te/t)o/E%Te/t$ 2 ;9 Then .sg)o/""input #ata is too long"$ ,n# If ,n# Sub 2ll Pri&ate Sub Te/t)o/F'(ost6ocus")y*al sen#er s Ob!ect+ )y*al e s System%,&entrgs$ -an#les Te/t)o/F%(ost6ocus If (en"Te/t)o/F%Te/t$ 2 ;9 Then .sg)o/""input #ata is too long"$ ,n# If ,n# Sub Pri&ate Sub Te/t)o/G'(ost6ocus")y*al sen#er s Ob!ect+ )y*al e s System%,&entrgs$ -an#les Te/t)o/G%(ost6ocus If (en"Te/t)o/G%Te/t$ 2 ;9 Then .sg)o/""input #ata is too long"$ ,n# If 2l2 ,n# Sub Pri&ate Sub Te/t)o/H'(ost6ocus")y*al sen#er s Ob!ect+ )y*al e s System%,&entrgs$ -an#les Te/t)o/H%(ost6ocus If (en"Te/t)o/H%Te/t$ 2 ;9 Then .sg)o/""input #ata is too long"$ ,n# If ,n# Sub Pri&ate Sub Te/t)o/I'(ost6ocus")y*al sen#er s Ob!ect+ )y*al e s System%,&entrgs$ -an#les Te/t)o/I%(ost6ocus If (en"Te/t)o/I%Te/t$ 2 ;9 Then .sg)o/""input #ata is too long"$ 2l3 ,n# If ,n# Sub ,n# Class 2l4 CODING OF FARE INFORMATION FORM Public Class 6=,'IN6O=.TION Dim rs s DOD)%=ecor#set Pri&ate Sub 6=,'IN6O=.TION'(oa#")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les .y)ase%(oa# Call main"$ rs 3 Ne4 DOD)%=ecor#set rs%Open""S,(,CT @ 6=O. 6=,'IN6O=.TION"+ con+ DOD)%CursorType,num%a#OpenDynamic+ DOD)%(oc>Type,num%a#(oc>Optimistic$ Call sho4'#ata"$ ,n# Sub Pri&ate Sub sho4'#ata"$ If rs%,O6 n# rs%)O6 3 True Then .sg)o/""there are no recor#s to sho4"+ .sg)o/Style%Critical$ ,lse Te/t)o/1%Te/t 3 rs%6iel#s"9$%*alue Te/t)o/;%Te/t 3 rs%6iel#s"1$%*alue 2l5 Te/t)o/<%Te/t 3 rs%6iel#s";$%*alue Te/t)o/E%Te/t 3 rs%6iel#s"<$%*alue Te/t)o/F%Te/t 3 rs%6iel#s"E$%*alue Te/t)o/G%Te/t 3 rs%6iel#s"F$%*alue Te/t)o/H%Te/t 3 rs%6iel#s"G$%*alue Te/t)o/I%Te/t 3 rs%6iel#s"H$%*alue Te/t)o/J%Te/t 3 rs%6iel#s"I$%*alue Te/t)o/19%Te/t 3 rs%6iel#s"J$%*alue Te/t)o/11%Te/t 3 rs%6iel#s"19$%*alue Te/t)o/1;%Te/t 3 rs%6iel#s"11$%*alue Te/t)o/1<%Te/t 3 rs%6iel#s"1;$%*alue Te/t)o/1E%Te/t 3 rs%6iel#s"1<$%*alue Te/t)o/1F%Te/t 3 rs%6iel#s"1E$%*alue Te/t)o/1G%Te/t 3 rs%6iel#s"1F$%*alue Te/t)o/1H%Te/t 3 rs%6iel#s"1G$%*alue Te/t)o/1I%Te/t 3 rs%6iel#s"1H$%*alue ,n# If ,n# Sub 2l6 Pri&ate Sub Ne/tToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les Ne/tToolStrip.enuItem%Clic> rs%.o&eNe/t"$ If rs%,O6 3 True Then rs%.o&ePre&ious"$ .sg)o/""this is a last recor#"+ .sg)o/Style%Information$ ,n# If Call sho4'#ata"$ ,n# Sub Pri&ate Sub Pre&iousToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les Pre&iousToolStrip.enuItem%Clic> rs%.o&ePre&ious"$ If rs%)O6 3 True Then .sg)o/""this is first recor#"+ .sg)o/Style%Information$ rs%.o&eNe/t"$ ,n# If Call sho4'#ata"$ 2l7 ,n# Sub Pri&ate Sub 6irstToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les 6irstToolStrip.enuItem%Clic> rs%.o&e6irst"$ Call sho4'#ata"$ ,n# Sub Pri&ate Sub (astToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les (astToolStrip.enuItem%Clic> rs%.o&e(ast"$ Call sho4'#ata"$ ,n# Sub Pri&ate Sub Ne4ToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les Ne4ToolStrip.enuItem%Clic> =S%##Ne4"$ Te/t)o/1%Te/t 3 "" Te/t)o/;%Te/t 3 "" Te/t)o/<%Te/t 3 "" Te/t)o/E%Te/t 3 "" Te/t)o/F%Te/t 3 "" 2l8 Te/t)o/G%Te/t 3 "" Te/t)o/H%Te/t 3 "" Te/t)o/I%Te/t 3 "" Te/t)o/J%Te/t 3 "" Te/t)o/19%Te/t 3 "" Te/t)o/11%Te/t 3 "" Te/t)o/1;%Te/t 3 "" Te/t)o/1<%Te/t 3 "" Te/t)o/1E%Te/t 3 "" Te/t)o/1F%Te/t 3 "" Te/t)o/1G%Te/t 3 "" Te/t)o/1H%Te/t 3 "" Te/t)o/1I%Te/t 3 "" =ecor#ToolStrip.enuItem%,nable# 3 6alse Ne4ToolStrip.enuItem%,nable# 3 6alse DeleteToolStrip.enuItem%,nable# 3 6alse ,n# Sub 2l9 Pri&ate Sub DeleteToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les DeleteToolStrip.enuItem%Clic> =S%Delete"$ .sg)o/""=ecor# Is Delete#"+ .sg)o/Style%Information$ =S%.o&e6irst"$ Call sho4'#ata"$ ,n# Sub Pri&ate Sub CloseThe7in#o4ToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les CloseThe7in#o4ToolStrip.enuItem%Clic> .e%Close"$ ,n# Sub
Pri&ate Sub CancelToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les CancelToolStrip.enuItem%Clic> rs%CancelCp#ate"$ rs%.o&e6irst"$ Call sho4'#ata"$ 220 =ecor#ToolStrip.enuItem%,nable# 3 True Ne4ToolStrip.enuItem%,nable# 3 True DeleteToolStrip.enuItem%,nable# 3 True ,n# Sub Pri&ate Sub Sa&eToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les Sa&eToolStrip.enuItem%Clic> If Te/t)o/1%Te/t 3 "" Or Te/t)o/;%Te/t 3 "" Or Te/t)o/<%Te/t 3 "" Or Te/t)o/E%Te/t 3 "" Or Te/t)o/F%Te/t 3 "" Or Te/t)o/G%Te/t 3 "" Or Te/t)o/H%Te/t 3 "" Or Te/t)o/I%Te/t 3 "" Or Te/t)o/J%Te/t 3 "" Or Te/t)o/19%Te/t 3 "" Or Te/t)o/11%Te/t 3 "" Or Te/t)o/1;%Te/t 3 "" Or Te/t)o/1<%Te/t 3 "" Or Te/t)o/1E%Te/t 3 "" Or Te/t)o/1F%Te/t 3 "" Or Te/t)o/1G%Te/t 3 "" Or Te/t)o/1H%Te/t 3 "" Or Te/t)o/1I%Te/t 3 "" Then .sg)o/""Pl0 6ill The )o/es )lan>"+ .sg)o/Style%Critical$ ,lse rs%6iel#s"9$%*alue 3 Te/t)o/1%Te/t rs%6iel#s"1$%*alue 3 Te/t)o/;%Te/t rs%6iel#s";$%*alue 3 Te/t)o/<%Te/t rs%6iel#s"<$%*alue 3 Te/t)o/E%Te/t rs%6iel#s"E$%*alue 3 Te/t)o/F%Te/t rs%6iel#s"F$%*alue 3 Te/t)o/G%Te/t rs%6iel#s"G$%*alue 3 Te/t)o/H%Te/t"$ rs%6iel#s"H$%*alue 3 Te/t)o/I%Te/t rs%6iel#s"I$%*alue 3 Te/t)o/J%Te/t 22l rs%6iel#s"J$%*alue 3 Te/t)o/19%Te/t rs%6iel#s"19$%*alue 3 Te/t)o/11%Te/t rs%6iel#s"11$%*alue 3 Te/t)o/1;%Te/t rs%6iel#s"1;$%*alue 3 Te/t)o/1<%Te/t rs%6iel#s"1<$%*alue 3 Te/t)o/1E%Te/t rs%6iel#s"1E$%*alue 3 Te/t)o/1F%Te/t rs%6iel#s"1F$%*alue 3 Te/t)o/1G%Te/t rs%6iel#s"1G$%*alue 3 Te/t)o/1H%Te/t rs%6iel#s"1H$%*alue 3 Te/t)o/1I%Te/t rs%Cp#ate"$ .sg)o/""=ecor# Is Sa&e#"+ .sg)o/Style%Information$ rs%.o&e6irst"$ Call sho4'#ata"$ =ecor#ToolStrip.enuItem%,nable# 3 True Ne4ToolStrip.enuItem%,nable# 3 True DeleteToolStrip.enuItem%,nable# 3 True ,n# If ,n# Sub ,n# Class 222 CODlNG OF RESERVATlON FORM Public Class =,S,=*TION Dim =S s DOD)%=ecor#set Pri&ate Sub =,S,=*TION'(oa#")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les .y)ase%(oa# Call main"$ =S 3 Ne4 DOD)%=ecor#set =S%Open""S,(,CT @ 6=O. =,S,=*TION"+ con+ DOD)%CursorType,num%a#OpenDynamic+ DOD)%(oc>Type,num%a#(oc>Optimistic$ Call sho4'#ata"$ ,n# Sub Pri&ate Sub sho4'#ata"$ If rs%,O6 n# rs%)O6 3 True Then .sg)o/""there are no recor#s to sho4"+ .sg)o/Style%Critical$ ,lse Te/t)o/1%Te/t 3 rs%6iel#s"9$%*alue Te/t)o/;%Te/t 3 rs%6iel#s"1$%*alue Te/t)o/<%Te/t 3 rs%6iel#s";$%*alue Te/t)o/E%Te/t 3 rs%6iel#s"<$%*alue 223 Te/t)o/F%Te/t 3 rs%6iel#s"E$%*alue Te/t)o/G%Te/t 3 rs%6iel#s"F$%*alue Te/t)o/H%Te/t 3 rs%6iel#s"G$%*alue Te/t)o/I%Te/t 3 rs%6iel#s"H$%*alue Te/t)o/J%Te/t 3 rs%6iel#s"I$%*alue Te/t)o/19%Te/t 3 rs%6iel#s"J$%*alue Te/t)o/11%Te/t 3 rs%6iel#s"19$%*alue Te/t)o/1;%Te/t 3 =S%6iel#s"11$%*alue Te/t)o/1<%Te/t 3 =S%6iel#s"1;$%*alue Te/t)o/1E%Te/t 3 =S%6iel#s"1<$%*alue Te/t)o/1F%Te/t 3 =S%6iel#s"1E$%*alue ,n# If ,n# Sub Pri&ate Sub Ne/tToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les Ne/tToolStrip.enuItem%Clic> rs%.o&eNe/t"$ If rs%,O6 3 True Then rs%.o&ePre&ious"$ .sg)o/""this is a last recor#"+ .sg)o/Style%Information$ ,n# If 224 Call sho4'#ata"$ ,n# Sub Pri&ate Sub Pre&iousToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les Pre&iousToolStrip.enuItem%Clic> rs%.o&ePre&ious"$ If rs%)O6 3 True Then .sg)o/""this is first recor#"+ .sg)o/Style%Information$ rs%.o&eNe/t"$ ,n# If Call sho4'#ata"$ ,n# Sub Pri&ate Sub 6irstToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les 6irstToolStrip.enuItem%Clic> rs%.o&e6irst"$ Call sho4'#ata"$ 225 ,n# Sub Pri&ate Sub (astToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les (astToolStrip.enuItem%Clic> rs%.o&e(ast"$ Call sho4'#ata"$ ,n# Sub Pri&ate Sub Ne4ToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les Ne4ToolStrip.enuItem%Clic> =S%##Ne4"$ Te/t)o/1%Te/t 3 "" Te/t)o/;%Te/t 3 "" Te/t)o/<%Te/t 3 "" Te/t)o/E%Te/t 3 "" Te/t)o/F%Te/t 3 "" Te/t)o/G%Te/t 3 "" Te/t)o/H%Te/t 3 "" Te/t)o/I%Te/t 3 "" Te/t)o/J%Te/t 3 "" Te/t)o/19%Te/t 3 "" 226 Te/t)o/11%Te/t 3 "" Te/t)o/1;%Te/t 3 "" Te/t)o/1<%Te/t 3 "" Te/t)o/1E%Te/t 3 "" Te/t)o/1F%Te/t 3 "" =ecor#ToolStrip.enuItem%,nable# 3 6alse Ne4ToolStrip.enuItem%,nable# 3 6alse DeleteToolStrip.enuItem%,nable# 3 6alse ,n# Sub Pri&ate Sub DeleteToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les DeleteToolStrip.enuItem%Clic> =S%Delete"$ .sg)o/""=ecor# Is Delete#"+ .sg)o/Style%Information$ =S%.o&e6irst"$ Call sho4'#ata"$ ,n# Sub Pri&ate Sub CloseThe7in#o4ToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les CloseThe7in#o4ToolStrip.enuItem%Clic> .e%Close"$ ,n# Sub 227 Pri&ate Sub CancelToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les CancelToolStrip.enuItem%Clic> rs%CancelCp#ate"$ rs%.o&e6irst"$ Call sho4'#ata"$ =ecor#ToolStrip.enuItem%,nable# 3 True Ne4ToolStrip.enuItem%,nable# 3 True DeleteToolStrip.enuItem%,nable# 3 True ,n# Sub Pri&ate Sub Sa&eToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les Sa&eToolStrip.enuItem%Clic> If Te/t)o/1%Te/t 3 "" Or Te/t)o/;%Te/t 3 "" Or Te/t)o/<%Te/t 3 "" Or Te/t)o/E%Te/t 3 "" Or Te/t)o/F%Te/t 3 "" Or Te/t)o/G%Te/t 3 "" Or Te/t)o/H%Te/t 3 "" Or Te/t)o/I%Te/t 3 "" Or Te/t)o/J%Te/t 3 "" Or Te/t)o/19%Te/t 3 "" Or Te/t)o/11%Te/t 3 "" Or Te/t)o/1;%Te/t 3 "" Or Te/t)o/1<%Te/t 3 "" Or Te/t)o/1E%Te/t 3 "" Or Te/t)o/1F%Te/t 3 "" Then .sg)o/""Pl0 6ill The )o/es )lan>"+ .sg)o/Style%Critical$ ,lse =S%6iel#s"9$%*alue 3 Te/t)o/1%Te/t =S%6iel#s"1$%*alue 3 Te/t)o/;%Te/t =S%6iel#s";$%*alue 3 Te/t)o/<%Te/t =S%6iel#s"<$%*alue 3 Te/t)o/E%Te/t =S%6iel#s"E$%*alue 3 Te/t)o/F%Te/t 228 =S%6iel#s"F$%*alue 3 Te/t)o/G%Te/t =S%6iel#s"G$%*alue 3 Te/t)o/H%Te/t =S%6iel#s"H$%*alue 3 Te/t)o/I%Te/t =S%6iel#s"I$%*alue 3 Te/t)o/J%Te/t =S%6iel#s"J$%*alue 3 Te/t)o/19%Te/t =S%6iel#s"19$%*alue 3 Te/t)o/11%Te/t =S%6iel#s"11$%*alue 3 Te/t)o/1;%Te/t =S%6iel#s"1;$%*alue 3 Te/t)o/1<%Te/t =S%6iel#s"1<$%*alue 3 Te/t)o/1E%Te/t =S%6iel#s"1E$%*alue 3 Te/t)o/1F%Te/t =S%Cp#ate"$ .sg)o/""=ecor# Is Sa&e#"+ .sg)o/Style%Information$ =S%.o&e6irst"$ Call sho4'#ata"$ =ecor#ToolStrip.enuItem%,nable# 3 True Ne4ToolStrip.enuItem%,nable# 3 True DeleteToolStrip.enuItem%,nable# 3 True ,n# If ,n# Sub ,n# Class 229 CODING OF CANCELLATION FORM Public Class cancellation Dim rs s DOD)%=ecor#set Pri&ate Sub cancellation'(oa#")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les .y)ase%(oa# Call main"$ rs 3 Ne4 DOD)%=ecor#set rs%Open""S,(,CT @ 6=O. CNC,((TION"+ con+ DOD)%CursorType,num%a#OpenDynamic+ DOD)%(oc>Type,num%a#(oc>Optimistic$ Call sho4'#ata"$ ,n# Sub Pri&ate Sub sho4'#ata"$ If rs%,O6 n# rs%)O6 3 True Then .sg)o/""there are no recor#s to sho4"+ .sg)o/Style%Critical$ ,lse Te/t)o/1%Te/t 3 rs%6iel#s"9$%*alue Te/t)o/;%Te/t 3 rs%6iel#s"1$%*alue Te/t)o/<%Te/t 3 rs%6iel#s";$%*alue Te/t)o/E%Te/t 3 rs%6iel#s"<$%*alue Te/t)o/F%Te/t 3 rs%6iel#s"E$%*alue 230 Te/t)o/G%Te/t 3 rs%6iel#s"F$%*alue Te/t)o/H%Te/t 3 rs%6iel#s"G$%*alue Te/t)o/I%Te/t 3 rs%6iel#s"H$%*alue Te/t)o/J%Te/t 3 rs%6iel#s"I$%*alue Te/t)o/19%Te/t 3 rs%6iel#s"J$%*alue Te/t)o/11%Te/t 3 rs%6iel#s"19$%*alue Te/t)o/1;%Te/t 3 rs%6iel#s"11$%*alue
,n# If ,n# Sub Pri&ate Sub Ne/tToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les Ne/tToolStrip.enuItem%Clic> rs%.o&eNe/t"$ If rs%,O6 3 True Then rs%.o&ePre&ious"$ .sg)o/""this is a last recor#"+ .sg)o/Style%Information$ ,n# If Call sho4'#ata"$ ,n# Sub 23l Pri&ate Sub Pre&iousToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les Pre&iousToolStrip.enuItem%Clic> rs%.o&ePre&ious"$ If rs%)O6 3 True Then .sg)o/""this is first recor#"+ .sg)o/Style%Information$ rs%.o&eNe/t"$ ,n# If Call sho4'#ata"$ ,n# Sub Pri&ate Sub 6irstToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les 6irstToolStrip.enuItem%Clic> rs%.o&e6irst"$ Call sho4'#ata"$ ,n# Sub 232 Pri&ate Sub (astToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les (astToolStrip.enuItem%Clic> rs%.o&e(ast"$ Call sho4'#ata"$ ,n# Sub Pri&ate Sub Ne4ToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les Ne4ToolStrip.enuItem%Clic> =S%##Ne4"$ Te/t)o/1%Te/t 3 "" Te/t)o/;%Te/t 3 "" Te/t)o/<%Te/t 3 "" Te/t)o/E%Te/t 3 "" Te/t)o/F%Te/t 3 "" Te/t)o/G%Te/t 3 "" Te/t)o/H%Te/t 3 "" Te/t)o/I%Te/t 3 "" Te/t)o/J%Te/t 3 "" Te/t)o/19%Te/t 3 "" Te/t)o/11%Te/t 3 "" Te/t)o/1;%Te/t 3 "" 233 =ecor#ToolStrip.enuItem%,nable# 3 6alse Ne4ToolStrip.enuItem%,nable# 3 6alse DeleteToolStrip.enuItem%,nable# 3 6alse ,n# Sub Pri&ate Sub DeleteToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les DeleteToolStrip.enuItem%Clic> =S%Delete"$ .sg)o/""=ecor# Is Delete#"+ .sg)o/Style%Information$ =S%.o&e6irst"$ Call sho4'#ata"$ ,n# Sub Pri&ate Sub CloseThe7in#o4ToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les CloseThe7in#o4ToolStrip.enuItem%Clic> .e%Close"$ ,n# Sub Pri&ate Sub Sa&eToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les Sa&eToolStrip.enuItem%Clic> If Te/t)o/1%Te/t 3 "" Or Te/t)o/;%Te/t 3 "" Or Te/t)o/<%Te/t 3 "" Or Te/t)o/E%Te/t 3 "" Or Te/t)o/F%Te/t 3 "" Or Te/t)o/G%Te/t 3 "" Or Te/t)o/H%Te/t 3 "" Or Te/t)o/I%Te/t 3 "" Or Te/t)o/J%Te/t 3 "" Or Te/t)o/19%Te/t 3 "" Or Te/t)o/11%Te/t 3 "" Or Te/t)o/1;%Te/t 3 "" Then .sg)o/""Pl0 6ill The )o/es )lan>"+ .sg)o/Style%Critical$ 234 ,lse rs%6iel#s"9$%*alue 3 Te/t)o/1%Te/t rs%6iel#s"1$%*alue 3 Te/t)o/;%Te/t rs%6iel#s";$%*alue 3 Te/t)o/<%Te/t rs%6iel#s"<$%*alue 3 Te/t)o/E%Te/t rs%6iel#s"E$%*alue 3 Te/t)o/F%Te/t rs%6iel#s"F$%*alue 3 Te/t)o/G%Te/t rs%6iel#s"G$%*alue 3 Te/t)o/H%Te/t rs%6iel#s"H$%*alue 3 Te/t)o/I%Te/t rs%6iel#s"I$%*alue 3 Te/t)o/J%Te/t rs%6iel#s"J$%*alue 3 Te/t)o/19%Te/t rs%6iel#s"19$%*alue 3 Te/t)o/11%Te/t rs%6iel#s"11$%*alue 3 Te/t)o/1;%Te/t rs%Cp#ate"$ .sg)o/""=ecor# Is Sa&e#"+ .sg)o/Style%Information$ rs%.o&e6irst"$ Call sho4'#ata"$ =ecor#ToolStrip.enuItem%,nable# 3 True Ne4ToolStrip.enuItem%,nable# 3 True DeleteToolStrip.enuItem%,nable# 3 True 235 ,n# If ,n# Sub Pri&ate Sub CancelToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les CancelToolStrip.enuItem%Clic> rs%CancelCp#ate"$ rs%.o&e6irst"$ Call sho4'#ata"$ =ecor#ToolStrip.enuItem%,nable# 3 True Ne4ToolStrip.enuItem%,nable# 3 True DeleteToolStrip.enuItem%,nable# 3 True ,n# Sub ,n# Class 236 CODING OF PASSENGER INFORMATION Coding of passenger information Public Class PSS,N5,='IN6O=.TION Dim =S s DOD)%=ecor#set Pri&ate Sub PSS,N5,='IN6O=.TION'(oa#")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les .y)ase%(oa# Call main"$ =S 3 Ne4 DOD)%=ecor#set =S%Open""S,(,CT @ 6=O. PSS,N5,='IN6O=.TION"+ con+ DOD)%CursorType,num%a#OpenDynamic+ DOD)%(oc>Type,num%a#(oc>Optimistic$ Call sho4'#ata"$ ,n# Sub 237
Pri&ate Sub sho4'#ata"$ If rs%,O6 n# rs%)O6 3 True Then .sg)o/""there are no recor#s to sho4"+ .sg)o/Style%Critical$ ,lse Te/t)o/1%Te/t 3 rs%6iel#s"9$%*alue Te/t)o/;%Te/t 3 rs%6iel#s"1$%*alue Te/t)o/<%Te/t 3 rs%6iel#s";$%*alue Te/t)o/E%Te/t 3 rs%6iel#s"<$%*alue Te/t)o/F%Te/t 3 rs%6iel#s"E$%*alue Te/t)o/G%Te/t 3 rs%6iel#s"F$%*alue Te/t)o/H%Te/t 3 rs%6iel#s"G$%*alue Te/t)o/I%Te/t 3 rs%6iel#s"H$%*alue Te/t)o/J%Te/t 3 rs%6iel#s"I$%*alue
238 ,n# If ,n# Sub Pri&ate Sub Ne/tToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les Ne/tToolStrip.enuItem%Clic> rs%.o&eNe/t"$ If rs%,O6 3 True Then rs%.o&ePre&ious"$ .sg)o/""this is a last recor#"+ .sg)o/Style%Information$ ,n# If Call sho4'#ata"$ ,n# Sub 239 Pri&ate Sub Pre&iousToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les Pre&iousToolStrip.enuItem%Clic> rs%.o&ePre&ious"$ If rs%)O6 3 True Then .sg)o/""this is first recor#"+ .sg)o/Style%Information$ rs%.o&eNe/t"$ ,n# If Call sho4'#ata"$ ,n# Sub Pri&ate Sub 6irstToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les 6irstToolStrip.enuItem%Clic> rs%.o&e6irst"$ 240 Call sho4'#ata"$ ,n# Sub Pri&ate Sub (astToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les (astToolStrip.enuItem%Clic> rs%.o&e(ast"$ Call sho4'#ata"$ ,n# Sub
Pri&ate Sub DeleteToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les DeleteToolStrip.enuItem%Clic> =S%Delete"$ .sg)o/""=ecor# Is Delete#"+ .sg)o/Style%Information$ =S%.o&e6irst"$ Call sho4'#ata"$ ,n# Sub 243 Pri&ate Sub CloseThe7in#o4ToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les CloseThe7in#o4ToolStrip.enuItem%Clic> .e%Close"$ ,n# Sub Pri&ate Sub CancelToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les CancelToolStrip.enuItem%Clic> rs%CancelCp#ate"$ rs%.o&e6irst"$ Call sho4'#ata"$ =ecor#ToolStrip.enuItem%,nable# 3 True Ne4ToolStrip.enuItem%,nable# 3 True DeleteToolStrip.enuItem%,nable# 3 True ,n# Sub 244 Pri&ate Sub Sa&eToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les Sa&eToolStrip.enuItem%Clic> If Te/t)o/1%Te/t 3 "" Or Te/t)o/;%Te/t 3 "" Or Te/t)o/<%Te/t 3 "" Or Te/t)o/E%Te/t 3 "" Or Te/t)o/F%Te/t 3 "" Or Te/t)o/G%Te/t 3 "" Or Te/t)o/H%Te/t 3 "" Or Te/t)o/I%Te/t 3 "" Or Te/t)o/J%Te/t 3 "" Then .sg)o/""Pl0 6ill The )o/es )lan>"+ .sg)o/Style%Critical$ ,lse =S%6iel#s"9$%*alue 3 Te/t)o/1%Te/t =S%6iel#s"1$%*alue 3 Te/t)o/;%Te/t =S%6iel#s";$%*alue 3 Te/t)o/<%Te/t =S%6iel#s"<$%*alue 3 Te/t)o/E%Te/t =S%6iel#s"E$%*alue 3 Te/t)o/F%Te/t =S%6iel#s"F$%*alue 3 Te/t)o/G%Te/t 245 =S%6iel#s"G$%*alue 3 Te/t)o/H%Te/t =S%6iel#s"H$%*alue 3 Te/t)o/I%Te/t =S%6iel#s"I$%*alue 3 Te/t)o/J%Te/t =S%Cp#ate"$ .sg)o/""=ecor# Is Sa&e#"+ .sg)o/Style%Information$ =S%.o&e6irst"$ Call sho4'#ata"$ =ecor#ToolStrip.enuItem%,nable# 3 True Ne4ToolStrip.enuItem%,nable# 3 True DeleteToolStrip.enuItem%,nable# 3 True ,n# If ,n# Sub 246 Pri&ate Sub Te/t)o/1'(ost6ocus")y*al sen#er s Ob!ect+ )y*al e s System%,&entrgs$ -an#les Te/t)o/1%(ost6ocus If (en"Te/t)o/1%Te/t$ 2 ;9 Then .sg)o/""input character is too long"$ ,n# If ,n# Sub Pri&ate Sub Te/t)o/;'(ost6ocus")y*al sen#er s Ob!ect+ )y*al e s System%,&entrgs$ -an#les Te/t)o/;%(ost6ocus If (en"Te/t)o/;%Te/t$ 2 ;9 Then .sg)o/""input character is too long"$ ,n# If 247 ,n# Sub Pri&ate Sub Te/t)o/<'(ost6ocus")y*al sen#er s Ob!ect+ )y*al e s System%,&entrgs$ -an#les Te/t)o/<%(ost6ocus If (en"Te/t)o/<%Te/t$ 2 ;9 Then .sg)o/""input character is too long"$ ,n# If ,n# Sub Pri&ate Sub Te/t)o/E'(ost6ocus")y*al sen#er s Ob!ect+ )y*al e s System%,&entrgs$ -an#les Te/t)o/E%(ost6ocus If (en"Te/t)o/E%Te/t$ 2 H Then .sg)o/""input character is too long"$ ,n# If 248 ,n# Sub Pri&ate Sub Te/t)o/F'(ost6ocus")y*al sen#er s Ob!ect+ )y*al e s System%,&entrgs$ -an#les Te/t)o/F%(ost6ocus If (en"Te/t)o/F%Te/t$ 2 < Then .sg)o/""in&ali# age"$ ,n# If ,n# Sub Pri&ate Sub Te/t)o/G'(ost6ocus")y*al sen#er s Ob!ect+ )y*al e s System%,&entrgs$ -an#les Te/t)o/G%(ost6ocus If (en"Te/t)o/G%Te/t$ 2 ;9 Then .sg)o/""input character is too long"$ 249 ,n# If ,n# Sub Pri&ate Sub Te/t)o/H'(ost6ocus")y*al sen#er s Ob!ect+ )y*al e s System%,&entrgs$ -an#les Te/t)o/H%(ost6ocus If (en"Te/t)o/H%Te/t$ 2 ;9 Then .sg)o/""input character is too long"$ ,n# If ,n# Sub Pri&ate Sub Te/t)o/I'(ost6ocus")y*al sen#er s Ob!ect+ )y*al e s System%,&entrgs$ -an#les Te/t)o/I%(ost6ocus If (en"Te/t)o/I%Te/t$ 2 ;9 Then .sg)o/""input character is too long"$ 250 ,n# If ,n# Sub Pri&ate Sub Te/t)o/J'(ost6ocus")y*al sen#er s Ob!ect+ )y*al e s System%,&entrgs$ -an#les Te/t)o/J%(ost6ocus If IsDate"Te/t)o/J%Te/t$ 3 6alse Then .sg)o/""pl0 enter correct #ate"$ ,n# If ,n# Sub ,n# Class 25l CODING OF STAFF INFORMATION Public Class ST66'IN6O=.TION Dim =S s DOD)%=ecor#set Pri&ate Sub ST66'IN6O=.TION'(oa#")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les .y)ase%(oa# Call main"$ =S 3 Ne4 DOD)%=ecor#set =S%Open""S,(,CT @ 6=O. ST66'IN6O=.TION"+ con+ DOD)%CursorType,num%a#OpenDynamic+ DOD)%(oc>Type,num%a#(oc>Optimistic$ 252 Call sho4'#ata"$ ,n# Sub Pri&ate Sub sho4'#ata"$ If rs%,O6 n# rs%)O6 3 True Then .sg)o/""there are no recor#s to sho4"+ .sg)o/Style%Critical$ ,lse Te/t)o/1%Te/t 3 rs%6iel#s"9$%*alue Te/t)o/;%Te/t 3 rs%6iel#s"1$%*alue Te/t)o/<%Te/t 3 rs%6iel#s";$%*alue Te/t)o/E%Te/t 3 =S%6iel#s"<$%*alue Te/t)o/F%Te/t 3 =S%6iel#s"E$%*alue Te/t)o/G%Te/t 3 =S%6iel#s"F$%*alue Te/t)o/H%Te/t 3 =S%6iel#s"G$%*alue Te/t)o/I%Te/t 3 =S%6iel#s"H$%*alue 253 ,n# If ,n# Sub Pri&ate Sub Ne/tToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les Ne/tToolStrip.enuItem%Clic> rs%.o&eNe/t"$ If rs%,O6 3 True Then rs%.o&ePre&ious"$ .sg)o/""this is a last recor#"+ .sg)o/Style%Information$ ,n# If Call sho4'#ata"$ 254 ,n# Sub Pri&ate Sub Pre&iousToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les Pre&iousToolStrip.enuItem%Clic> rs%.o&ePre&ious"$ If rs%)O6 3 True Then .sg)o/""this is first recor#"+ .sg)o/Style%Information$ rs%.o&eNe/t"$ ,n# If Call sho4'#ata"$ ,n# Sub 255 Pri&ate Sub 6irstToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les 6irstToolStrip.enuItem%Clic> rs%.o&e6irst"$ Call sho4'#ata"$ ,n# Sub Pri&ate Sub (astToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les (astToolStrip.enuItem%Clic> rs%.o&e(ast"$ Call sho4'#ata"$ ,n# Sub 256 Pri&ate Sub Ne4ToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les Ne4ToolStrip.enuItem%Clic> =S%##Ne4"$ Te/t)o/1%Te/t 3 "" Te/t)o/;%Te/t 3 "" Te/t)o/<%Te/t 3 "" Te/t)o/E%Te/t 3 "" Te/t)o/F%Te/t 3 "" Te/t)o/G%Te/t 3 "" Te/t)o/H%Te/t 3 "" Te/t)o/I%Te/t 3 "" =ecor#ToolStrip.enuItem%,nable# 3 6alse 257 Ne4ToolStrip.enuItem%,nable# 3 6alse DeleteToolStrip.enuItem%,nable# 3 6alse ,n# Sub Pri&ate Sub DeleteToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les DeleteToolStrip.enuItem%Clic> =S%Delete"$ .sg)o/""=ecor# Is Delete#"+ .sg)o/Style%Information$ =S%.o&e6irst"$ Call sho4'#ata"$ 258 ,n# Sub Pri&ate Sub CloseThe7in#o4ToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les CloseThe7in#o4ToolStrip.enuItem%Clic> .e%Close"$ ,n# Sub Pri&ate Sub CancelToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les CancelToolStrip.enuItem%Clic> rs%CancelCp#ate"$ rs%.o&e6irst"$ Call sho4'#ata"$ =ecor#ToolStrip.enuItem%,nable# 3 True Ne4ToolStrip.enuItem%,nable# 3 True DeleteToolStrip.enuItem%,nable# 3 True 259 ,n# Sub Pri&ate Sub Sa&eToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les Sa&eToolStrip.enuItem%Clic> If Te/t)o/1%Te/t 3 "" Or Te/t)o/;%Te/t 3 "" Or Te/t)o/<%Te/t 3 "" Or Te/t)o/E%Te/t 3 "" Or Te/t)o/F%Te/t 3 "" Or Te/t)o/G%Te/t 3 "" Or Te/t)o/H%Te/t 3 "" Or Te/t)o/I%Te/t 3 "" Then .sg)o/""Pl0 6ill The )o/es )lan>"+ .sg)o/Style%Critical$ ,lse =S%6iel#s"9$%*alue 3 Te/t)o/1%Te/t =S%6iel#s"1$%*alue 3 Te/t)o/;%Te/t =S%6iel#s";$%*alue 3 Te/t)o/<%Te/t =S%6iel#s"<$%*alue 3 Te/t)o/E%Te/t 260 =S%6iel#s"E$%*alue 3 Te/t)o/F%Te/t =S%6iel#s"F$%*alue 3 Te/t)o/G%Te/t =S%6iel#s"G$%*alue 3 Te/t)o/H%Te/t =S%6iel#s"H$%*alue 3 Te/t)o/I%Te/t
=S%Cp#ate"$ .sg)o/""=ecor# Is Sa&e#"+ .sg)o/Style%Information$ =S%.o&e6irst"$ Call sho4'#ata"$ =ecor#ToolStrip.enuItem%,nable# 3 True Ne4ToolStrip.enuItem%,nable# 3 True DeleteToolStrip.enuItem%,nable# 3 True ,n# If 26l ,n# Sub Pri&ate Sub Te/t)o/1'(ost6ocus")y*al sen#er s Ob!ect+ )y*al e s System%,&entrgs$ -an#les Te/t)o/1%(ost6ocus If (en"Te/t)o/1%Te/t$ 2 ;9 Then .sg)o/""input #ata is too long"$ ,n# If ,n# Sub Pri&ate Sub Te/t)o/;'(ost6ocus")y*al sen#er s Ob!ect+ )y*al e s System%,&entrgs$ -an#les Te/t)o/;%(ost6ocus If (en"Te/t)o/;%Te/t$ 2 ;9 Then .sg)o/""input #ata is too long"$ 262 ,n# If ,n# Sub Pri&ate Sub Te/t)o/<'(ost6ocus")y*al sen#er s Ob!ect+ )y*al e s System%,&entrgs$ -an#les Te/t)o/<%(ost6ocus If (en"Te/t)o/<%Te/t$ 2 < Then .sg)o/""input #ata is too long"$ ,n# If If IsNumeric"Te/t)o/<%Te/t$ 3 6alse Then .sg)o/""pl0 enter numeric #ata"$ ,n# If ,n# Sub 263 Pri&ate Sub Te/t)o/E'(ost6ocus")y*al sen#er s Ob!ect+ )y*al e s System%,&entrgs$ -an#les Te/t)o/E%(ost6ocus If (en"Te/t)o/E%Te/t$ 2 ;99 Then .sg)o/""input #ata is too long"$ ,n# If ,n# Sub Pri&ate Sub Te/t)o/F'(ost6ocus")y*al sen#er s Ob!ect+ )y*al e s System%,&entrgs$ -an#les Te/t)o/F%(ost6ocus If IsDate"Te/t)o/F%Te/t$ 3 6alse Then .sg)o/""pl0 enter correct #ate"$ ,n# If ,n# Sub 264 Pri&ate Sub Te/t)o/G'(ost6ocus")y*al sen#er s Ob!ect+ )y*al e s System%,&entrgs$ -an#les Te/t)o/G%(ost6ocus If IsDate"Te/t)o/G%Te/t$ 3 6alse Then .sg)o/""pl0 enter correct #ate"$ ,n# If ,n# Sub Pri&ate Sub Te/t)o/H'(ost6ocus")y*al sen#er s Ob!ect+ )y*al e s System%,&entrgs$ -an#les Te/t)o/H%(ost6ocus If (en"Te/t)o/H%Te/t$ 2 ;9 Then .sg)o/""input #ata is too long"$ ,n# If ,n# Sub 265 Pri&ate Sub Te/t)o/I'(ost6ocus")y*al sen#er s Ob!ect+ )y*al e s System%,&entrgs$ -an#les Te/t)o/I%(ost6ocus If (en"Te/t)o/I%Te/t$ 2 ;9 Then .sg)o/""input #ata is too long"$ ,n# If ,n# Sub
,n# Class 266 CODING OF ROOT INFORMATION Public Class root'information Dim =S s DOD)%=ecor#set Pri&ate Sub root'information'(oa#")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les .y)ase%(oa# Call main"$ =S 3 Ne4 DOD)%=ecor#set =S%Open""S,(,CT @ 6=O. =OOT'IN6O=.TION"+ con+ DOD)%CursorType,num%a#OpenDynamic+ DOD)%(oc>Type,num%a#(oc>Optimistic$ Call sho4'#ata"$ ,n# Sub Pri&ate Sub sho4'#ata"$ If =S%,O6 n# =S%)O6 3 True Then .sg)o/""there are no recor#s to sho4"+ .sg)o/Style%Critical$ ,lse Te/t)o/1%Te/t 3 =S%6iel#s"9$%*alue Te/t)o/;%Te/t 3 =S%6iel#s"1$%*alue Te/t)o/<%Te/t 3 =S%6iel#s";$%*alue Te/t)o/E%Te/t 3 =S%6iel#s"<$%*alue 267 Te/t)o/F%Te/t 3 =S%6iel#s"E$%*alue Te/t)o/G%Te/t 3 =S%6iel#s"F$%*alue Te/t)o/H%Te/t 3 =S%6iel#s"G$%*alue Te/t)o/I%Te/t 3 =S%6iel#s"H$%*alue Te/t)o/J%Te/t 3 =S%6iel#s"I$%*alue Te/t)o/19%Te/t 3 =S%6iel#s"J$%*alue Te/t)o/11%Te/t 3 =S%6iel#s"19$%*alue Te/t)o/1;%Te/t 3 =S%6iel#s"11$%*alue Te/t)o/1<%Te/t 3 =S%6iel#s"1;$%*alue Te/t)o/1E%Te/t 3 =S%6iel#s"1<$%*alue Te/t)o/1F%Te/t 3 =S%6iel#s"1E$%*alue Te/t)o/1G%Te/t 3 =S%6iel#s"1F$%*alue Te/t)o/1H%Te/t 3 =S%6iel#s"1G$%*alue Te/t)o/1I%Te/t 3 =S%6iel#s"1H$%*alue ,n# If ,n# Sub Pri&ate Sub Ne/tToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les Ne/tToolStrip.enuItem%Clic> =S%.o&eNe/t"$ If =S%,O6 3 True Then 268 =S%.o&ePre&ious"$ .sg)o/""this is a last recor#"+ .sg)o/Style%Information$ ,n# If Call sho4'#ata"$ ,n# Sub Pri&ate Sub Pre&iousToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les Pre&iousToolStrip.enuItem%Clic> =S%.o&ePre&ious"$ If =S%)O6 3 True Then .sg)o/""this is first recor#"+ .sg)o/Style%Information$ =S%.o&eNe/t"$ ,n# If Call sho4'#ata"$ ,n# Sub Pri&ate Sub 6irstToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les 6irstToolStrip.enuItem%Clic> 269 =S%.o&e6irst"$ Call sho4'#ata"$ ,n# Sub Pri&ate Sub (astToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les (astToolStrip.enuItem%Clic> =S%.o&e(ast"$ Call sho4'#ata"$ ,n# Sub Pri&ate Sub Ne4ToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les Ne4ToolStrip.enuItem%Clic> =S%##Ne4"$ Te/t)o/1%Te/t 3 "" Te/t)o/;%Te/t 3 "" Te/t)o/<%Te/t 3 "" Te/t)o/E%Te/t 3 "" Te/t)o/F%Te/t 3 "" Te/t)o/G%Te/t 3 "" Te/t)o/H%Te/t 3 "" 270 Te/t)o/I%Te/t 3 "" Te/t)o/J%Te/t 3 "" Te/t)o/E%Te/t 3 "" Te/t)o/19%Te/t 3 "" Te/t)o/11%Te/t 3 "" Te/t)o/1;%Te/t 3 "" Te/t)o/1<%Te/t 3 "" Te/t)o/1E%Te/t 3 "" Te/t)o/1F%Te/t 3 "" Te/t)o/1G%Te/t 3 "" Te/t)o/1H%Te/t 3 "" Te/t)o/1I%Te/t 3 "" =ecor#ToolStrip.enuItem%,nable# 3 6alse Ne4ToolStrip.enuItem%,nable# 3 6alse DeleteToolStrip.enuItem%,nable# 3 6alse ,n# Sub 27l Pri&ate Sub DeleteToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les DeleteToolStrip.enuItem%Clic> =S%Delete"$ .sg)o/""=ecor# Is Delete#"+ .sg)o/Style%Information$ =S%.o&e6irst"$ Call sho4'#ata"$ ,n# Sub Pri&ate Sub CloseThe7in#o4ToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les CloseThe7in#o4ToolStrip.enuItem%Clic> .e%Close"$ ,n# Sub Pri&ate Sub CancelToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les CancelToolStrip.enuItem%Clic> rs%CancelCp#ate"$ rs%.o&e6irst"$ Call sho4'#ata"$ =ecor#ToolStrip.enuItem%,nable# 3 True Ne4ToolStrip.enuItem%,nable# 3 True DeleteToolStrip.enuItem%,nable# 3 True 272 ,n# Sub Pri&ate Sub Sa&eToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les Sa&eToolStrip.enuItem%Clic> If Te/t)o/1%Te/t 3 "" Or Te/t)o/;%Te/t 3 "" Or Te/t)o/<%Te/t 3 "" Or Te/t)o/E%Te/t 3 "" Or Te/t)o/F%Te/t 3 "" Or Te/t)o/G%Te/t 3 "" Or Te/t)o/H%Te/t 3 "" Or Te/t)o/I%Te/t 3 "" Or Te/t)o/J%Te/t 3 "" Or Te/t)o/19%Te/t 3 "" Or Te/t)o/11%Te/t 3 "" Or Te/t)o/1;%Te/t 3 "" Or Te/t)o/1<%Te/t 3 "" Or Te/t)o/1E%Te/t 3 "" Or Te/t)o/1F%Te/t 3 "" Or Te/t)o/1G%Te/t 3 "" Or Te/t)o/1H%Te/t 3 "" Or Te/t)o/1I%Te/t 3 "" Then .sg)o/""Pl0 6ill The )o/es )lan>"+ .sg)o/Style%Critical$ ,lse =S%6iel#s"9$%*alue 3 Te/t)o/1%Te/t =S%6iel#s"1$%*alue 3 Te/t)o/;%Te/t =S%6iel#s";$%*alue 3 Te/t)o/<%Te/t =S%6iel#s"<$%*alue 3 Te/t)o/E%Te/t =S%6iel#s"E$%*alue 3 Te/t)o/F%Te/t =S%6iel#s"F$%*alue 3 Te/t)o/G%Te/t =S%6iel#s"G$%*alue 3 Te/t)o/H%Te/t =S%6iel#s"H$%*alue 3 Te/t)o/I%Te/t =S%6iel#s"I$%*alue 3 Te/t)o/J%Te/t =S%6iel#s"J$%*alue 3 Te/t)o/19%Te/t =S%6iel#s"19$%*alue 3 Te/t)o/11%Te/t 273 =S%6iel#s"11$%*alue 3 Te/t)o/1;%Te/t =S%6iel#s"1;$%*alue 3 Te/t)o/1<%Te/t =S%6iel#s"1<$%*alue 3 Te/t)o/1E%Te/t =S%6iel#s"1E$%*alue 3 Te/t)o/1F%Te/t =S%6iel#s"1F$%*alue 3 Te/t)o/1G%Te/t =S%6iel#s"1G$%*alue 3 Te/t)o/1H%Te/t =S%6iel#s"1H$%*alue 3 Te/t)o/1I%Te/t =S%Cp#ate"$ .sg)o/""=ecor# Is Sa&e#"+ .sg)o/Style%Information$ =S%.o&e6irst"$ Call sho4'#ata"$ =ecor#ToolStrip.enuItem%,nable# 3 True Ne4ToolStrip.enuItem%,nable# 3 True DeleteToolStrip.enuItem%,nable# 3 True ,n# If ,n# Sub ,n# Class 274 CODING OF SCHEDULE FORM Public Class 6orm< Dim rs s DOD)%=ecor#set Pri&ate Sub 6orm<'(oa#")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les .y)ase%(oa# Call main"$ =S 3 Ne4 DOD)%=ecor#set rs%Open""S,(,CT @ 6=O. SC-,DC(,'IN6O=.TION"+ con+ DOD)%CursorType,num%a#OpenDynamic+ DOD)%(oc>Type,num%a#(oc>Optimistic$ Call sho4'#ata"$ ,n# Sub Pri&ate Sub sho4'#ata"$ If rs%,O6 n# rs%)O6 3 True Then .sg)o/""there are no recor#s to sho4"+ .sg)o/Style%Critical$ ,lse Te/t)o/1%Te/t 3 rs%6iel#s"9$%*alue Te/t)o/;%Te/t 3 rs%6iel#s"1$%*alue Te/t)o/<%Te/t 3 rs%6iel#s";$%*alue Te/t)o/E%Te/t 3 rs%6iel#s"<$%*alue Te/t)o/F%Te/t 3 rs%6iel#s"E$%*alue Te/t)o/G%Te/t 3 rs%6iel#s"F$%*alue 275 ,n# If ,n# Sub Pri&ate Sub Ne/tToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les Ne/tToolStrip.enuItem%Clic> rs%.o&eNe/t"$ If rs%,O6 3 True Then rs%.o&ePre&ious"$ .sg)o/""this is a last recor#"+ .sg)o/Style%Information$ ,n# If Call sho4'#ata"$ ,n# Sub Pri&ate Sub Pre&iousToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les Pre&iousToolStrip.enuItem%Clic> rs%.o&ePre&ious"$ If rs%)O6 3 True Then .sg)o/""this is first recor#"+ .sg)o/Style%Information$ rs%.o&eNe/t"$ ,n# If Call sho4'#ata"$ 276 ,n# Sub Pri&ate Sub 6irstToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les 6irstToolStrip.enuItem%Clic> rs%.o&e6irst"$ Call sho4'#ata"$ ,n# Sub Pri&ate Sub (astToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les (astToolStrip.enuItem%Clic> rs%.o&e(ast"$ Call sho4'#ata"$ ,n# Sub Pri&ate Sub Ne4ToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les Ne4ToolStrip.enuItem%Clic> =S%##Ne4"$ Te/t)o/1%Te/t 3 "" Te/t)o/;%Te/t 3 "" Te/t)o/<%Te/t 3 "" Te/t)o/E%Te/t 3 "" Te/t)o/F%Te/t 3 "" Te/t)o/G%Te/t 3 ""
277 =ecor#ToolStrip.enuItem%,nable# 3 6alse Ne4ToolStrip.enuItem%,nable# 3 6alse DeleteToolStrip.enuItem%,nable# 3 6alse ,n# Sub Pri&ate Sub DeleteToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les DeleteToolStrip.enuItem%Clic> =S%Delete"$ .sg)o/""=ecor# Is Delete#"+ .sg)o/Style%Information$ =S%.o&e6irst"$ Call sho4'#ata"$ ,n# Sub Pri&ate Sub CloseThe7in#o4ToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les CloseThe7in#o4ToolStrip.enuItem%Clic> .e%Close"$ ,n# Sub Pri&ate Sub CancelToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les CancelToolStrip.enuItem%Clic> rs%CancelCp#ate"$ rs%.o&e6irst"$ Call sho4'#ata"$ 278 =ecor#ToolStrip.enuItem%,nable# 3 True Ne4ToolStrip.enuItem%,nable# 3 True DeleteToolStrip.enuItem%,nable# 3 True ,n# Sub Pri&ate Sub Sa&eToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les Sa&eToolStrip.enuItem%Clic> If Te/t)o/1%Te/t 3 "" Or Te/t)o/;%Te/t 3 "" Or Te/t)o/<%Te/t 3 "" Or Te/t)o/E%Te/t 3 "" Or Te/t)o/F%Te/t 3 "" Or Te/t)o/G%Te/t 3 "" Then .sg)o/""Pl0 6ill The )o/es )lan>"+ .sg)o/Style%Critical$ ,lse rs%6iel#s"9$%*alue 3 Te/t)o/1%Te/t rs%6iel#s"1$%*alue 3 Te/t)o/;%Te/t rs%6iel#s";$%*alue 3 Te/t)o/<%Te/t rs%6iel#s"<$%*alue 3 Te/t)o/E%Te/t rs%6iel#s"E$%*alue 3 Te/t)o/F%Te/t rs%6iel#s"F$%*alue 3 Te/t)o/G%Te/t rs%Cp#ate"$ .sg)o/""=ecor# Is Sa&e#"+ .sg)o/Style%Information$ rs%.o&e6irst"$ Call sho4'#ata"$ =ecor#ToolStrip.enuItem%,nable# 3 True Ne4ToolStrip.enuItem%,nable# 3 True 279 DeleteToolStrip.enuItem%,nable# 3 True ,n# If ,n# Sub ,n# Class 280 CODING OF SEARCH TRAIN INFORMATION Public Class search'train'information Dim rs s DOD)%=ecor#set Pri&ate Sub search'train'information'(oa#")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les .y)ase%(oa# Call main"$ rs 3 Ne4 DOD)%=ecor#set rs%Open""select @ from train'information"+ con+ DOD)%CursorType,num%a#OpenDynamic+ DOD)%(oc>Type,num%a#(oc>Optimistic$ Do 7hile "rs%,O6 12 True$ Combo)o/1%Items%##"rs%6iel#s"9$%*alue$ rs%.o&eNe/t"$ (oop ,n# Sub Pri&ate Sub Combo)o/1'Selecte#In#e/Change#")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les Combo)o/1%Selecte#In#e/Change# rs%.o&e6irst"$ Do 7hile "rs%,O6 12 True$ 28l If (Case"rs%6iel#s"9$%*alue$ 3 (Case"Combo)o/1%Te/t$ Then Te/t)o/1%Te/t 3 rs%6iel#s"9$%*alue Te/t)o/;%Te/t 3 rs%6iel#s"1$%*alue Te/t)o/<%Te/t 3 rs%6iel#s";$%*alue Te/t)o/E%Te/t 3 rs%6iel#s"<$%*alue Te/t)o/F%Te/t 3 rs%6iel#s"E$%*alue Te/t)o/G%Te/t 3 rs%6iel#s"F$%*alue Te/t)o/H%Te/t 3 rs%6iel#s"G$%*alue Te/t)o/I%Te/t 3 rs%6iel#s"H$%*alue
,/it Do ,lse rs%.o&eNe/t"$ ,n# If (oop ,n# Sub Pri&ate Sub CloseThe7in#o4ToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les CloseThe7in#o4ToolStrip.enuItem%Clic> 282 .e%Close"$ ,n# Sub ,n# Class 283 CODING OF SEARCH FARE INFORMATION FORM Public Class search'fare'information Dim rs s DOD)%=ecor#set
Pri&ate Sub search'fare'information'(oa#")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les .y)ase%(oa# Call main"$ rs 3 Ne4 DOD)%=ecor#set rs%Open""select @ from fare'information"+ con+ DOD)%CursorType,num%a#OpenDynamic+ DOD)%(oc>Type,num%a#(oc>Optimistic$ Do 7hile "rs%,O6 12 True$ Combo)o/1%Items%##"rs%6iel#s"9$%*alue$ rs%.o&eNe/t"$ (oop ,n# Sub Pri&ate Sub Combo)o/1'Selecte#In#e/Change#")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les Combo)o/1%Selecte#In#e/Change# rs%.o&e6irst"$ 284 Do 7hile "rs%,O6 12 True$ If (Case"rs%6iel#s"9$%*alue$ 3 (Case"Combo)o/1%Te/t$ Then Te/t)o/1%Te/t 3 rs%6iel#s"9$%*alue Te/t)o/;%Te/t 3 rs%6iel#s"1$%*alue Te/t)o/<%Te/t 3 rs%6iel#s";$%*alue Te/t)o/E%Te/t 3 rs%6iel#s"<$%*alue Te/t)o/F%Te/t 3 rs%6iel#s"E$%*alue Te/t)o/G%Te/t 3 rs%6iel#s"F$%*alue Te/t)o/H%Te/t 3 rs%6iel#s"G$%*alue Te/t)o/I%Te/t 3 rs%6iel#s"H$%*alue Te/t)o/J%Te/t 3 rs%6iel#s"I$%*alue Te/t)o/19%Te/t 3 rs%6iel#s"J$%*alue Te/t)o/11%Te/t 3 rs%6iel#s"19$%*alue Te/t)o/1;%Te/t 3 rs%6iel#s"11$%*alue Te/t)o/1<%Te/t 3 rs%6iel#s"1;$%*alue Te/t)o/1E%Te/t 3 rs%6iel#s"1<$%*alue Te/t)o/1F%Te/t 3 rs%6iel#s"1E$%*alue Te/t)o/1G%Te/t 3 rs%6iel#s"1F$%*alue Te/t)o/1H%Te/t 3 rs%6iel#s"1G$%*alue Te/t)o/1I%Te/t 3 rs%6iel#s"1H$%*alue 285 ,/it Do ,lse rs%.o&eNe/t"$ ,n# If (oop ,n# Sub Pri&ate Sub CloseThe7in#o4ToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ .e%Close"$ ,n# Sub ,n# Class 286 CODlNG OF SEARCH RESERVATlON FORM Public Class search'reser&ation Dim rs s DOD)%=ecor#set Pri&ate Sub search'reser&ation'(oa#")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les .y)ase%(oa# Call main"$ rs 3 Ne4 DOD)%=ecor#set rs%Open""select @ from reser&ation"+ con+ DOD)%CursorType,num%a#OpenDynamic+ DOD)%(oc>Type,num%a#(oc>Optimistic$ Do 7hile "rs%,O6 12 True$ Combo)o/1%Items%##"rs%6iel#s"9$%*alue$ rs%.o&eNe/t"$ (oop ,n# Sub Pri&ate Sub Combo)o/1'Selecte#In#e/Change#")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les Combo)o/1%Selecte#In#e/Change# rs%.o&e6irst"$ Do 7hile "rs%,O6 12 True$ If (Case"rs%6iel#s"9$%*alue$ 3 (Case"Combo)o/1%Te/t$ Then 287 Te/t)o/1%Te/t 3 rs%6iel#s"9$%*alue Te/t)o/;%Te/t 3 rs%6iel#s"1$%*alue Te/t)o/<%Te/t 3 rs%6iel#s";$%*alue Te/t)o/E%Te/t 3 rs%6iel#s"<$%*alue Te/t)o/F%Te/t 3 rs%6iel#s"E$%*alue Te/t)o/G%Te/t 3 rs%6iel#s"F$%*alue Te/t)o/H%Te/t 3 rs%6iel#s"G$%*alue Te/t)o/I%Te/t 3 rs%6iel#s"H$%*alue Te/t)o/J%Te/t 3 rs%6iel#s"I$%*alue Te/t)o/19%Te/t 3 rs%6iel#s"J$%*alue Te/t)o/11%Te/t 3 rs%6iel#s"19$%*alue Te/t)o/1;%Te/t 3 rs%6iel#s"11$%*alue Te/t)o/1<%Te/t 3 rs%6iel#s"1;$%*alue Te/t)o/1E%Te/t 3 rs%6iel#s"1<$%*alue Te/t)o/1F%Te/t 3 rs%6iel#s"1E$%*alue ,/it Do ,lse rs%.o&eNe/t"$ ,n# If 288 (oop ,n# Sub Pri&ate Sub CloseThe7in#o4ToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les CloseThe7in#o4ToolStrip.enuItem%Clic> .e%Close"$ ,n# Sub ,n# Class 289 CODING OF SEARCH CANCELLATION FORM Public Class search'cancellation Dim rs s DOD)%=ecor#set Pri&ate Sub search'cancellation'(oa#")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les .y)ase%(oa# Call main"$ rs 3 Ne4 DOD)%=ecor#set rs%Open""select @ from cancellation"+ con+ DOD)%CursorType,num%a#OpenDynamic+ DOD)%(oc>Type,num%a#(oc>Optimistic$ Do 7hile "rs%,O6 12 True$ Combo)o/1%Items%##"rs%6iel#s"9$%*alue$ rs%.o&eNe/t"$ (oop ,n# Sub Pri&ate Sub Combo)o/1'Selecte#In#e/Change#")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les Combo)o/1%Selecte#In#e/Change# rs%.o&e6irst"$ 290 Do 7hile "rs%,O6 12 True$ If (Case"rs%6iel#s"9$%*alue$ 3 (Case"Combo)o/1%Te/t$ Then Te/t)o/1%Te/t 3 rs%6iel#s"9$%*alue Te/t)o/;%Te/t 3 rs%6iel#s"1$%*alue Te/t)o/<%Te/t 3 rs%6iel#s";$%*alue Te/t)o/E%Te/t 3 rs%6iel#s"<$%*alue Te/t)o/F%Te/t 3 rs%6iel#s"E$%*alue Te/t)o/G%Te/t 3 rs%6iel#s"F$%*alue Te/t)o/H%Te/t 3 rs%6iel#s"G$%*alue Te/t)o/I%Te/t 3 rs%6iel#s"H$%*alue Te/t)o/J%Te/t 3 rs%6iel#s"I$%*alue Te/t)o/19%Te/t 3 rs%6iel#s"J$%*alue Te/t)o/11%Te/t 3 rs%6iel#s"19$%*alue Te/t)o/1;%Te/t 3 rs%6iel#s"11$%*alue ,/it Do ,lse rs%.o&eNe/t"$ 29l ,n# If (oop ,n# Sub Pri&ate Sub CloseThe7in#o4ToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les CloseThe7in#o4ToolStrip.enuItem%Clic> .e%Close"$ ,n# Sub ,n# Class 292 CODING OF SEARCH PASSENGER INFORMATION FORM Public Class search'passenger'information Dim rs s DOD)%=ecor#set Pri&ate Sub search'passenger'information'(oa#")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les .y)ase%(oa# Call main"$ rs 3 Ne4 DOD)%=ecor#set rs%Open""select @ from passenger'information"+ con+ DOD)%CursorType,num%a#OpenDynamic+ DOD)%(oc>Type,num%a#(oc>Optimistic$ Do 7hile "rs%,O6 12 True$ Combo)o/1%Items%##"rs%6iel#s"9$%*alue$ rs%.o&eNe/t"$ (oop ,n# Sub Pri&ate Sub Combo)o/1'Selecte#In#e/Change#")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les Combo)o/1%Selecte#In#e/Change# rs%.o&e6irst"$ 293 Do 7hile "rs%,O6 12 True$ If (Case"rs%6iel#s"9$%*alue$ 3 (Case"Combo)o/1%Te/t$ Then Te/t)o/1%Te/t 3 rs%6iel#s"9$%*alue Te/t)o/;%Te/t 3 rs%6iel#s"1$%*alue Te/t)o/<%Te/t 3 rs%6iel#s";$%*alue Te/t)o/E%Te/t 3 rs%6iel#s"<$%*alue Te/t)o/F%Te/t 3 rs%6iel#s"E$%*alue Te/t)o/G%Te/t 3 rs%6iel#s"F$%*alue Te/t)o/H%Te/t 3 rs%6iel#s"G$%*alue Te/t)o/I%Te/t 3 rs%6iel#s"H$%*alue Te/t)o/J%Te/t 3 rs%6iel#s"I$%*alue
,/it Do ,lse rs%.o&eNe/t"$ ,n# If (oop ,n# Sub 294 Pri&ate Sub CloseThe7in#o4ToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les CloseThe7in#o4ToolStrip.enuItem%Clic> .e%Close"$ ,n# Sub ,n# Class 295 CODING OF SEARCH STAFF INFORMATION FORM Public Class search'staff'information Dim rs s DOD)%=ecor#set Pri&ate Sub search'staff'information'(oa#")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les .y)ase%(oa# Call main"$ rs 3 Ne4 DOD)%=ecor#set rs%Open""select @ from staff'information"+ con+ DOD)%CursorType,num%a#OpenDynamic+ DOD)%(oc>Type,num%a#(oc>Optimistic$ Do 7hile "rs%,O6 12 True$ Combo)o/1%Items%##"rs%6iel#s"9$%*alue$ rs%.o&eNe/t"$ (oop ,n# Sub Pri&ate Sub Combo)o/1'Selecte#In#e/Change#")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les Combo)o/1%Selecte#In#e/Change# rs%.o&e6irst"$ Do 7hile "rs%,O6 12 True$ If (Case"rs%6iel#s"9$%*alue$ 3 (Case"Combo)o/1%Te/t$ Then 296 Te/t)o/1%Te/t 3 rs%6iel#s"9$%*alue Te/t)o/;%Te/t 3 rs%6iel#s"1$%*alue Te/t)o/<%Te/t 3 rs%6iel#s";$%*alue Te/t)o/E%Te/t 3 rs%6iel#s"<$%*alue Te/t)o/F%Te/t 3 rs%6iel#s"E$%*alue Te/t)o/G%Te/t 3 rs%6iel#s"F$%*alue Te/t)o/H%Te/t 3 rs%6iel#s"G$%*alue te/tbo/I%Te/t 3 rs%6iel#s"H$%*alue ,/it Do ,lse rs%.o&eNe/t"$ ,n# If (oop ,n# Sub Pri&ate Sub CloseThe7in#o4ToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les CloseThe7in#o4ToolStrip.enuItem%Clic> .e%Close"$ ,n# Sub ,n# Class 297 CODING OF SEARCH ROOT INFORMATION FORM Public Class search'root'information Dim rs s DOD)%=ecor#set Pri&ate Sub search'root'information'(oa#")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les .y)ase%(oa# Call main"$ rs 3 Ne4 DOD)%=ecor#set rs%Open""select @ from root'information"+ con+ DOD)%CursorType,num%a#OpenDynamic+ DOD)%(oc>Type,num%a#(oc>Optimistic$ Do 7hile "rs%,O6 12 True$ Combo)o/1%Items%##"rs%6iel#s"9$%*alue$ rs%.o&eNe/t"$ (oop ,n# Sub Pri&ate Sub Combo)o/1'Selecte#In#e/Change#")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les Combo)o/1%Selecte#In#e/Change# rs%.o&e6irst"$ Do 7hile "rs%,O6 12 True$ If (Case"rs%6iel#s"9$%*alue$ 3 (Case"Combo)o/1%Te/t$ Then 298 Te/t)o/1%Te/t 3 rs%6iel#s"9$%*alue Te/t)o/;%Te/t 3 rs%6iel#s"1$%*alue Te/t)o/<%Te/t 3 rs%6iel#s";$%*alue Te/t)o/E%Te/t 3 rs%6iel#s"<$%*alue Te/t)o/F%Te/t 3 rs%6iel#s"E$%*alue Te/t)o/G%Te/t 3 rs%6iel#s"F$%*alue Te/t)o/H%Te/t 3 rs%6iel#s"G$%*alue Te/t)o/I%Te/t 3 rs%6iel#s"H$%*alue Te/t)o/J%Te/t 3 rs%6iel#s"I$%*alue Te/t)o/19%Te/t 3 rs%6iel#s"J$%*alue Te/t)o/11%Te/t 3 rs%6iel#s"19$%*alue Te/t)o/1;%Te/t 3 rs%6iel#s"11$%*alue Te/t)o/1<%Te/t 3 rs%6iel#s"1;$%*alue Te/t)o/1E%Te/t 3 rs%6iel#s"1<$%*alue Te/t)o/1F%Te/t 3 rs%6iel#s"1E$%*alue Te/t)o/1G%Te/t 3 rs%6iel#s"1F$%*alue Te/t)o/1H%Te/t 3 rs%6iel#s"1G$%*alue Te/t)o/1I%Te/t 3 rs%6iel#s"1H$%*alue ,/it Do ,lse 299 rs%.o&eNe/t"$ ,n# If (oop ,n# Sub Pri&ate Sub CloseThe7in#o4ToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les CloseThe7in#o4ToolStrip.enuItem%Clic> .e%Close"$ ,n# Sub ,n# Class 300 CODING OF SEARCH SCHEDULE INFORMATION FORM Public Class search'sche#ule'information Dim rs s DOD)%=ecor#set Pri&ate Sub search'sche#ule'information'(oa#")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les .y)ase%(oa# Call main"$ rs 3 Ne4 DOD)%=ecor#set rs%Open""select @ from sche#ule'information"+ con+ DOD)%CursorType,num%a#OpenDynamic+ DOD)%(oc>Type,num%a#(oc>Optimistic$ Do 7hile "rs%,O6 12 True$ Combo)o/1%Items%##"rs%6iel#s"9$%*alue$ rs%.o&eNe/t"$ (oop ,n# Sub Pri&ate Sub Combo)o/1'Selecte#In#e/Change#")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les Combo)o/1%Selecte#In#e/Change# rs%.o&e6irst"$ Do 7hile "rs%,O6 12 True$ If (Case"rs%6iel#s"9$%*alue$ 3 (Case"Combo)o/1%Te/t$ Then 30l Te/t)o/1%Te/t 3 rs%6iel#s"9$%*alue Te/t)o/;%Te/t 3 rs%6iel#s"1$%*alue Te/t)o/<%Te/t 3 rs%6iel#s";$%*alue Te/t)o/E%Te/t 3 rs%6iel#s"<$%*alue Te/t)o/F%Te/t 3 rs%6iel#s"E$%*alue Te/t)o/G%Te/t 3 rs%6iel#s"F$%*alue
,/it Do ,lse rs%.o&eNe/t"$ ,n# If (oop ,n# Sub Pri&ate Sub CloseThe7in#o4ToolStrip.enuItem'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les CloseThe7in#o4ToolStrip.enuItem%Clic> .e%Close"$ ,n# Sub ,n# Class 302 CODING OF CHANGE PASSWORD FORM Public Class C-N5,'PSS7O=D
Pri&ate Sub )utton1'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les )utton1%Clic> Dim =S s DOD)%=ecor#set Call main"$ =S 3 Ne4 DOD)%=ecor#set =S%Open""S,(,CT @ 6=O. (O5IN"+ con+ DOD)%CursorType,num%a#OpenDynamic+ DOD)%(oc>Type,num%a#(oc>Optimistic$ If Te/t)o/1%Te/t 3 "" Or Te/t)o/;%Te/t 3 "" Or Te/t)o/<%Te/t 3 "" Or Te/t)o/E%Te/t 3 KK Then .sg)o/""P(A 6I(( IN T-, )(NBS"+ .sg)o/Style%Critical$ ,lse Dim 6 s )oolean 303 6 3 6alse Do 7hile "=S%,O6 12 True$ If (Case"Te/t)o/1%Te/t$ 3 (Case"=S%6iel#s"9$%*alue$ n# (Case"Te/t)o/;%Te/t$ 3 (Case"=S%6iel#s"1$%*alue$ Then 6 3 True ,/it Do ,lse =S%.o&eNe/t"$ ,n# If (oop If 6 3 True Then If Te/t)o/<%Te/t 3 Te/t)o/E%Te/t Then =S%6iel#s"1$%*alue 3 Te/t)o/<%Te/t =S%Cp#ate"$ .sg)o/""(O5IN IS C-N5, SCCC,SS6C((L"$ .e%Close"$ ,lse .sg)o/""P(S ,NT,= CO==,CT PSS7O=D"$ ,n# If 304 ,lse .sg)o/""IN*(ID ID O= PSS7O=D"$ ,n# If ,n# If ,n# Sub Pri&ate Sub )utton;'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les )utton;%Clic> .e%Close"$ ,n# Sub ,n# Class 305 CODIN5 O6 =,PO=TS 6O=. Imports CrystalDecisions%Crystal=eports%,ngine Imports CrystalDecisions%Share# Public Class all'report Pri&ate Sub )utton1'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les )utton1%Clic> Dim crpt s Ne4 trainreport Crystal=eport*ie4er1%=eportSource 3 crpt Crystal=eport*ie4er1%=efresh"$ ,n# Sub Pri&ate Sub )utton;'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les )utton;%Clic> Dim crpt s Ne4 reser&ationreport Crystal=eport*ie4er1%=eportSource 3 crpt Crystal=eport*ie4er1%=efresh"$ 306 ,n# Sub Pri&ate Sub )utton<'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les )utton<%Clic> Dim crpt s Ne4 cancellation'report Crystal=eport*ie4er1%=eportSource 3 crpt Crystal=eport*ie4er1%=efresh"$ ,n# Sub Pri&ate Sub )uttonE'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les )uttonE%Clic> Dim crpt s Ne4 fare'report Crystal=eport*ie4er1%=eportSource 3 crpt Crystal=eport*ie4er1%=efresh"$ ,n# Sub Pri&ate Sub )uttonF'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les )uttonF%Clic> Dim crpt s Ne4 root'report 307 Crystal=eport*ie4er1%=eportSource 3 crpt Crystal=eport*ie4er1%=efresh"$ ,n# Sub Pri&ate Sub )uttonG'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les )uttonG%Clic> Dim crpt s Ne4 passengerreport Crystal=eport*ie4er1%=eportSource 3 crpt Crystal=eport*ie4er1%=efresh"$ ,n# Sub ,n# Class 308 CODIN5 O6 )OCT 6O=. Public NotInheritable Class bout)o/1 Pri&ate Sub bout)o/1'(oa#")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les .y)ase%(oa# ' Set the title of the form% Dim pplicationTitle s String If .y%pplication%Info%Title 12 "" Then pplicationTitle 3 .y%pplication%Info%Title ,lse pplicationTitle 3 System%IO%Path%5et6ileName7ithout,/tension".y%pplication%Info%ssemblyName$ ,n# If .e%Te/t 3 String%6ormat""bout 89:"+ pplicationTitle$ ' Initiali0e all of the te/t #isplaye# on the bout )o/% ' TODO: Customi0e the application's assembly information in the "pplication" pane of the pro!ect ' properties #ialog "un#er the "Pro!ect" menu$% .e%(abelPro#uctName%Te/t 3 .y%pplication%Info%Pro#uctName .e%(abel*ersion%Te/t 3 String%6ormat""*ersion 89:"+ .y%pplication%Info%*ersion%ToString$ .e%(abelCopyright%Te/t 3 .y%pplication%Info%Copyright 309 .e%(abelCompanyName%Te/t 3 .y%pplication%Info%CompanyName .e%Te/t)o/Description%Te/t 3 .y%pplication%Info%Description ,n# Sub Pri&ate Sub OB)utton'Clic>")y*al sen#er s System%Ob!ect+ )y*al e s System%,&entrgs$ -an#les OB)utton%Clic> .e%Close"$ ,n# Sub
,n# Class 3l0 Co#ing of mo#ule .o#ule .o#ule1 Public con s DOD)%Connection Public Sub main"$ con 3 Ne4 DOD)%Connection con%Open""#ri&er38microsoft o#bc for oracle:Mui#3poo!aMp4#3sainiM"$ ,n# Sub ,n# .o#ule 3ll Co*e Efficienc6 - O4timis'tion of Co*e The input to the coding phase of the "Railway Reservation System" was it design. During the coding phase, different modules identified in the design are coded according to the modules specification. At the end of the design phase, we have not only the module structure. (e.g. structure chart ) of the system but also the module specification where the data structure and algorithms for each module are specific. The objectives of coding phase is to transform the design of the system, as given by its module specification, into high-level language code and then to unit test this code. Adherence to some will-defined and standard style of coding called 'coding standards' increase the code efficiency. The reasons for adhering to a standard coding style are the following: lt gives a uniform appearance to the codes written by different engineers. lt enhances code understanding and lt encourage good programming practices A coding standard sets out standards ways of doing several things such as the way variables are to be names, the code is to be laid out, maximum 3l2 number of source lines that can be allowed per function ,etc. Besides the coding standard Several coding guidelines are also suggested which provide some general suggestions regarding the coding style to be followed. Following are the coding standards and guidelines adopted during the development of "Railway Reservation System". Naming variables: consistency has been maintained for naming the variables in project. Error return conventions and exception handling mechanism: A standardized way is used for reporting the error conditions by different functions of the software and handling the common exception coding. A too clever and difficult to understand coding style has not been used during the coding phase of this software. Coding style has been kept simple and easy to understand, because clever coding can obscure the meaning of the code and hamper understanding. Due to the simplicity of coding style, the maintenance is also easier. Well document code: appropriate components lines are inserted, wherever found necessary , so that the purpose of the function, loop or variable etc. can be easier understood. 3l3 V'li*'tions ChecBs Validation is the process of determining whether a fully developed system conforms to its requirements specification. The aim of validation is to make the final product error free. At present, as for as the validation is concern, the "Railway Reservation System" has fully conformed to all type of validations as per the requirements. All the validations, which may terminate the application or give unwanted results, have been handled in various modules of project. An interactive message box will appear on the screen for all the validations. Validations: common to all Modules Duplicate records can not stored User can not cross the limit of any field specified in the data structures of various tables. Those fields which are only displayed on screens by retrieving data from other tables can not be modified by the user. Those fields which are in number data type, user can not insert text or character or string value in this field. User can't enter incorrect date in date data type field. 3l4 TESTIN9 Software testing is a critical element of software quantity assurance and represents the ultimate review of specification, design and code generation. The increasing visibility of software as a system elements and the attendant "costs" associated with a software failure are motivating for well planned, thorough testing. Testin5 o;jecti7es: The following are the testing objectives : Testing is a process of executing a program with the intent of finding an error. A good test case is one that has a high probability of finding an as-yet- undiscovered error. A successful test is one that uncovers an as yet undiscovered error. Testin5 Princi4les The ;'sic 4rinci4le th't 5ui*e soft='re testin5 're 's follo=s: All tests should be traceable to customer requirements. Tests should be planned long before testing begins. The parato principle applies to software testing. 3l5 Para to principle states that 80 percent of all errors uncovered during testing will likely be traceable to 20 percent of all program components. Testing should begin "in the small" and progress toward testing "in the large". Exhaustive testing is not possible. To be most effective, testing should be conducted by an independent third party. Test';ilit6: Software testability is simply how easily (a computer program can be tested). The following characteristics are considered that lead to testable software. Operability : "The better it more efficiently it can be tested". Observability: "What you see is what you test." Controllability : "The better we can control the software, the more the testing can be automated and optimized." Decomposability : "By controlling the scope of testing, we can more quickly isolate problems and perform smarter resting." Simplicity : "The less there is to test, the more quickly we can test it". 3l6 Stability : "The fewer the changes, the fewer the disruptions to testing". Understandability : "The more information we have, the smarter we will test". Test C'se 2esi5n : The design of testing can be divided into two broad categories: Black Box testing: White Box testing: (l'cB (oF testin5: When computer software is considered, black-box testing alludes to tests that are conducted at the software interface. Although they are designed to uncover errors, black box tests are used to demonstrate that software functions are operational, that input is properly accepted and output is correctly produced , and the integrity of external information(e.g. A database) is maintained. White (oF testin5: White box testing of software is predicated on close examination of procedural detail. Logical paths through the software are tested by 3l7 providing test cases that exercise specific sets of conditions and loops. The main disadvantage with white box testing is even for smaller programs the number of possible logical paths can be very large. ln the present project Black box testing is used. Soft='re testin5 Str'te5ies: Software testing is one element of a broader topic that is often referred to as verification and validation (v &v).Verification refers to the set of activities that ensure that software correctly implements a specific functions. Validation refers to a different set of activities that ensure that the software that has been built is traceable to customer requirements. ln other words v &v can be stated as Verification : "Are we building the product right." The following issue were considered for a successful software testing strategy is to be implemented. Specific product requirements in a quantifiable manner long before testing commence. State testing objectives explicitly. Understand the users of the software and develop a profile for each user category. Develop a testing plan that emphasizes "rapid cycle testing". 3l8 Build "robust" software that is designed to test itself. Use effective formal technical reviews to assess the test strategy and test cases them selves. Develop a continuous improvement approach for the testing. )nit Test Proce*ures: Unit testing is normally considered as an adjusted to the coding step. After source code is developed, reviewed and test cases were established. Functional behavioral were tested for each module. Each test case is coupled with a set of expected results. Because a module is not a stand alone program, driver and/or sub software must be developed for each unit test. Driver is nothing more than "a main program" that accepts test case data, passed such data to the module. Unit testing is simplified when a module with high cohesion is designed. When Only one function is addressed by a module, the number of test cases are reduced and errors can be more easily predicted and uncovered. 3l9 320 Securit6 Me'sure T'Ben As far as the security is concern, "Railway Reservation System" will provide a reliable security system for protecting the Railway Reservation System database from unauthorized access. One module (i.e. LOGlN ) will take care of the security of the project database. To implement the LOGlN modules, one table has been included into the project database called LOGlN, which will store information about various users who will interact with the project. Details like USERlD, PASSWARD will be stored in this Table. Users will be allowed to access project database only after feeding their LOGlN and PASSWARD correctly. LOGlN module and accordingly the access right to Railway Reservation System database will be given to the user. ln this project, user means employee and administrator can also access the project. 32l WorB Sche*ule An* Cost Estim'te WorB Sche*ule Scheduling is an important activity of project Managers. ln order to schedule a project, a software project manager to do the following: ldentify the tasks needed to complete the project Determine the dependency among different tasks Establish the most likely estimates for the duration of the identified tasks. Plan the starting and ending dates for various tasks Determine the critical path (i.e. the chain of tasks that determine the duration of the project). As for as the "Railway Reservation System" is concern, the whole system was divided into main activities shown in *f*. Dependencies between these activities; duration of each activity, its starting and ending dates; and total duration of the project can be easily identified by going through these charts. 322 COST ESTIMATION Project Cost Estimation is an important task of the Software Project Management. During project planning, project manager estimates the following parameters: Project size, Effort required to develop the software, project duration and cost. These estimates help not only in quoting the project cost to the customer, but also in resource planning and scheduling. ln this project l used the two software are ORACLE l0g & VB.net and l had done expenseon printing and stationary. 323 324 TRAlN lNFORMATlON REPORT
325 RESERVATlON lNFORMATlON REPORT
326 CANCELLATlON lNFORMATlON REPORT
327 FARE lNFORMATlON REPORT
328 ROOT lNFORMATlON REPORT 329 LIMITATIONS O3 T0E PRO1ECT Though this project Railway Reservation System is very useful and has several advantages over a manual system. Use of this no doubt will result in faster processing and a better service but it has some limitations also. These limitations include The software does not allow the online implementation of the project and it is only available for a single system. Payment can be done only through cheque or dd, as it does not hold credit card system. Any features or forms can't be added. 330 SCOPE O3 3)T)RE APPLICATION . 33l (I(LO9RAP0Y The main books, which were consulted for the project development, are: Guide to Visual Studio Peter Norton
Oracle Developer 2000 lvon Bayros MSDN Library Software Engineering Roger S. Pressman Mastering Visual Studio.NET BPB Publication Oracle the complete References Kevin Loney, George Koch