摘要:
随着时代的不断进步,人们出行次数增加,那么一个火车站怎样才能快捷高效的为乘客们服务变成了一个很重要的问题。伴随着计算机的普及,运用计算机进行数据的保存与管理已经成为一件再寻常不过的事情,因此建立一个火车票查询预订系统将会是一个很好的解决办法。一个火车票查询预订系统的设计可以使工作人员实现计算机管理,减轻工作量,并且可以节约人力和物力,从而使得火车票管理更加的便捷和高效。一个火车票查询预订系统应该有火车票的查询,添加或删除,管理员的管理等功能。
关键字:火车票查询;火车票预订;管理员管理;便捷;高效

1 课题综述    1
1.1 课题来源    1
1.2 程序所实现的功能    1
1.3软硬件运行环境及开发工具    1
2 系统分析    1
2.1 主要模块功能    1
2.2功能模块图    2
3 系统设计    2
3.1 数据库设计    2
3.2 火车票信息处理对话框的设计    3
3.3 火车票销售对话框的设计    4
4 代码编写    5
4.1 命令按钮的过程代码添加方法    5
4.2 具体代码    5
5 程序调试    8
5.1 上机过程中出现的问题和解决方案    8
5.2 程序的扩展方案    8
6 程序运行界面    8

1 课题综述
1.1 课题来源
本次软件实习将用C#制作一个火车票查询预订系统,具有一般系统的数据处理功能,如数据录入、增加、修改、删除等。
1.2 程序所实现的功能
本系统通过C#  Winforms技术完成的功能如下:(1)可以实现火车票信息的增加、删除。
2)可以实现火车票的基本信息的浏览。(3)可以实现火车票的预订及预订信息的删除、修改(4)管理员登录密码的修改
1.3软硬件运行环境及开发工具
本次软件设计的运行环境:Windows XP操作系统,Microsoft Visual Studio 2005以上编译环境。
开发工具为C#Access
C#概述:Microsoft Visual C# 2005(读作 C#)是一种编程语言,它是为生成在 .NET Framework 上运行的多种应用程序而设计的。C# 简单、功能强大、类型安全,而且是面向对象的。C# 凭借它的许多创新,在保持 C 样式语言的表示形式和优美的同时,实现了应用程序的快速开发。
Visual Studio 支持 Visual C#,这是通过功能齐全的代码编辑器、项目模板、设计器、代码向导、功能强大且易于使用的调试器以及其他工具实现的。通过 .NET Framework 类库,可以访问多种操作系统服务和其他有用的精心设计的类,这些类可显著加快开发周期。
Access概述:Access 是微软公司推出的基于Windows的桌面关系数据库管理系统(RDBMS),是Office系列应用软件之一。它提供了表、查询、窗体、报表、页、宏、模块7种用来建立数据库系统的对象;提供了多种向导、生成器、模板,把数据存储、数据查询、界面设计、报表生成等操作规范化;为建立功能完善的数据库管理系统提供了方便,也使得普通用户不必编写代码,就可以完成大部分数据管理的任务。

2 系统分析
2.1 主要模块功能
1)增加火车票记录模块:用于将新的火车票信息添加到火车票基本信息表中。
2)删除火车票记录模块:用于删除火车票基本信息表中的火车票信息。
3)刷新火车票记录模块:增加记录和删除记录完成后点次按钮更新。
4)增加火车票预定记录模块:用于预订火车票信息。
5)删除火车票预定记录模块:用于删除预订火车票信息。
6)修改密码模块:用于修改后台管理员登录密码信息。
7)查询火车票模块:用于客户查询所需的火车票信息。
2.2功能模块图
该系统的功能模块图如下图所示:
图2-1 模块图

3 系统设计
3.1 数据库设计
创建一个“图书出版管理系统”数据库,含有三个数据表:“出版图书基本信息”、“图书分类”、“图书出售信息”。具体格式如下表:
3-1  Book数据表结构
丁禹兮个人资料
字段名称
字段类型
字段大小
索引
必须填写
name
文本
50
phone
文本
20
 
shenfen
文本
50
 
trainnum
文本
50
 (有重复)
neednum
数字
浙江湖州区号
长整型
 (有重复)
hard
/
/
 
soft
/
/
 
booktime
日期/时间
日期/时间
 
ID
自动编号
自动编号
 (有重复)
3-2 entry数据表的结构
字段名称
字段类型
字段大小
索引
必须填写
adminnum
文本
50
有(无重复)
admincode
文本
50
有(无重复) 
3-3 “Ticket”数据表的结构
字段名称
字段类型
字段大小
索引
必须填写
ID
自动编号品牌女装排名
长整型
  (有重复)
trainnum
文本
50
  ( 有重复)
date
文本
50
startpos
文本
50
starttime
destination                                   
reachtime
hardleft
hardcost
Softleft
softcost
日期/时间
文本
文本
数字
货币
数字
货币
50
50
长整型
长整型
     
     
     
     
3.2 图书出版基本信息处理对话框的设计
图书出版基本信息处理对话框的界面如下图所示:
3-1 火车票查询信息对话框
标签控件的属性如表3-4所示。
3-4  标签对象的基本属性
ID
标题内容
Textbox3
火车发车日期
Textbox1
火车发车地
Textbox2
火车目的地
Radiobottom1
软铺
Radiobottom2
硬座
Datagridview1
如何提取住房公积金显示查询信息
3-2 火车票预订信息对话框
表3-6 编辑框对象的基本属性
Textbox1
预订火车发车日期
浪胃仙大胃王资料Textbox2
火车出发地
Textbox3
火车目的地
Textbox4
火车车次
Textbox5
预订者
Textbox6
E_mail
Textbox7
真实姓名
Textbox8
身份证
Combobox1
预订火车票类型
Radiobottom1
软铺
Radiobottom2
硬座
3-3 火车票后台管理信息对话框
表3-7 编辑框对象的基本属性
Datagridview1
显示预订信息
Bottom1
删除预订信息
Bottom2
关闭
Toolstrip1
功能对话框按钮
Toolstripbottom1
打开添加车次信息对话框
Toolstripbottom2
打开修改车次信息对话框
Toolstripbottom3
打开修改管理员密码对话框
3-4 火车票后台管理信息对话框
表3-8 编辑框对象的基本属性
Textbox1
预订火车发车日期
Textbox2
火车车次
Textbox3
火车发车地
Textbox4
火车软铺票价
Textbox5
火车目的地
Textbox6
火车硬座票价
Textbox7
软铺数量
Textbox8
发车时间
Textbox9
硬座数量
Textbox10
到站时间
Bottom1
确定提交
3-5 火车票后台管理信息对话框
表3-9 编辑框对象的基本属性
Datagridview1
显示火车票信息
Bottom1
提交修改信息
Bottom2
删除所选择的记录
Bottom3
关闭
3-6 火车票后台管理信息对话框
表3-9 编辑框对象的基本属性
textbox1
输入登录帐号
textbox1谭晶老公
输入原登录密码
textbox1
输入新登录密码
textbox1
再次输入新登录密码
Bottom1
确定提交修改信息
Bottom2
关闭对话框

4 代码编写
4.1 具体代码
“查询火车票记录”命令按钮的过程代码代码:
private void check_Click(object sender, EventArgs e)
        {
            if (textBox3.Text==string.Empty)
            {
                MessageBox.Show(this, "    请输入日期时间!  ", "Phoenix Information:", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }
            if (textBox1.Text==string.Empty)
            {
                MessageBox.Show(this, "    请输入发车地点!  ", "Phoenix Information:", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }
            if (textBox2.Text==string.Empty)
            {
                MessageBox.Show(this, "    请输入目的点!  ", "Phoenix Information:", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);