1WebService火车查询系统一、开发环境:装有VS10软件的PC机一台二、系统功能:火车查询系统主要用于提供火车时刻表和车次所经站点的查询服务:1、输入用户的始发站和终点站,点击查询按钮,系统会提供路经这条路线的所有车次,并显示该车次的始发站、终点站、在本站的出发时间、里程和所需时间;2、输入某车次,点击查询按钮,可以查询到该车次的始发站、终点站、始发站出发时间、终点站到达时间、里程和所需要的时间;并且可以通过模糊查询,查询到包含输入车次字符的车次的这些信息;3、输入某车次,点击查询按钮,系统可以显示该车次途经的所有站点、到达该站点的时间、从该站点出发的时间和从始发站到达该站点的距离。三、系统设计:系统主要包括服务端和用户端:服务端通过编写代码,提供了用户查询信息的各种方法,并返回用户查询的相关信息;用户端主要包括用户界面、服务调用和控件设置:2用户界面为用户查询信息提供了窗口;服务调用通过引用Web服务,编写代码,调用了Web服务里的方法;控件设置首先是选择合适的控件,并引入,通过属性设置完善控件的视觉效果,通过代码触发事件,完成控件的功能。四、运行结果:运行结果显示调试后的最初界面和输入参数后的查询结果。点击调试后,系统向用户提供一个火车查询界面,用户可以根据界面提示输入需要的参数进行查询工作,输入完参数,只需点击查询按钮,就可以看到想查询的信息。界面可以显示火车时刻表和列车经由的站点,其中火车时刻表包括两个:1、给定始发站和终点站,途经这条路线的所有火车时刻表;2、给定某一车次,显示该车次的时刻表。34五、核心代码:用户端代码:usingSystem;usingSystem.Data;usingSystem.Windows.Forms;namespaceTrainInquiry{publicpartialclassForm1:Form{privatecn.com.webxml.webservice.TrainTimeWebServiceTrain=null;privatestringPath=Application.StartupPath;publicForm1(){InitializeComponent();Train=newcn.com.webxml.webservice.TrainTimeWebServi5ce();}privatevoidbutton1_Click(objectsender,EventArgse){stringStartStation=textBox3.Text;stringArriveStation=textBox4.Text;DataSetds=newDataSet();ds=Train.getStationAndTimeByStationName(StartStation,ArriveStation,);dataGridView1.DataSource=ds.Tables[0].DefaultView;}privatevoidbutton2_Click(objectsender,EventArgse){stringTrainNumber=textBox2.Text;DataSetds=newDataSet();6ds=Train.getStationAndTimeDataSetByLikeTrainCode(TrainNumber,);dataGridView2.DataSource=ds.Tables[0].DefaultView;}privatevoidbutton3_Click(objectsender,EventArgse){stringTrainNumber=textBox1.Text;DataSetds=newDataSet();ds=Train.getDetailInfoByTrainCode(TrainNumber,);dataGridView3.DataSource=ds.Tables[0].DefaultView;}服务端的方法:7getDetailInfoByTrainCode通过火车车次查询列车经由车站明细DataSet输入参数:车次代号字符串,空字符串默认上海到北京D32次,UserID=商业用户ID(普通用户不需要);返回数据:DataSet,Item.(TrainStation)=车站名称、Item.(ArriveTime)=到站时间、Item.(StartTime)=发车时间、Item.(KM)=里程(KM)getStationAndTimeByStationName通过发车站和到达站查询火车时刻表DataSet输入参数:StartStation=发车站,ArriveStation=到达站(支持第一个字匹配模糊查询),空字符串默认发车站上海和到达站北京,UserID=商业用户ID(普通用户不需要);返回数据:DataSet,Item.(TrainCode)=车次、Item.(FirstStation)=始发站、Item.(LastStation)=终点站、Item.(StartStation)=发车站、Item.(StartTime)=发车时间、Item.(ArriveStation)=到达站、8Item.(ArriveTime)=到达时间、Item.(KM)=里程(KM)、Item.(UseDate)=历时getStationAndTimeDataSetByLikeTrainCode通过火车车次查询本火车时刻表(支持模糊查询)DataSet输入参数:车次代号字符串(支持模糊查询),空字符串默认上海到北京D32次,UserID=商业用户ID(普通用户不需要);返回数据:DataSet,Item.(TrainCode)=车次、Item.(FirstStation)=始发站、Item.(LastStation)=终点站、Item.(StartStation)=发车站、Item.(StartTime)=发车时间、Item.(ArriveStation)=到达站、Item.(ArriveTime)=到达时间、Item.(KM)=里程(KM)、Item.(UseDate)=历时六、结果分析及存在的问题:火车查询系统主要用于为外出人员提供车次查询服务,可以使人们方便地查找到可乘坐的火车车次,不需要亲自到火车站询问信息,并且可以根据自己的9情况,依据火车时刻表确定自己的出发时间,为生活、工作和旅行等提供了方便。本系统的开发设计很好的完成了预期的功能,提供了火车时刻表和列车经由站点查询,在界面设计上简单大方。通过本次开发设计,熟悉了Web服务的开发过程,能够方便的引入Web服务,提高了我的编程能力,进一步了解了控件的使用、设置和事件的触发。也使我认识到自己还应该多学习Web服务方面的知识,进一步提高自己的编程能力和界面设计能力。