摘要:
随着时代的不断进步,人们出行次数增加,那么一个火车站怎样才能快捷高
效的为乘客们服务变成了一个很重要的问题。伴随着计算机的普及,运用计算机
进行数据的保存与管理已经成为一件再寻常不过的事情,因此建立一个火车票查
询预订系统将会是一个很好的解决办法。一个火车票查询预订系统的设计可以使
工作人员实现计算机管理,减轻工作量,并且可以节约人力和物力,从而使得火
车票管理更加的便捷和高效。一个火车票查询预订系统应该有火车票的查询,添
加或删除,管理员的管理等功能。
关键字:火车票查询;火车票预订;管理员管理;便捷;高效
目 录
1 课题综述.................................................................................................................... 1
1.1 课题来源 ............................................................................................................................ 1
1.2 程序所实现的功能 ............................................................................................................ 1
1.3软硬件运行环境及开发工具 ............................................................................................. 1
2 系统分析.................................................................................................................... 1
2.1 主要模块功能 .................................................................................................................... 1
2.2功能模块图 ......................................................................................................................... 1
3 系统设计.................................................................................................................... 1
3.1 数据库设计 ........................................................................................................................ 1
3.2 火车票信息处理对话框的设计 ........................................................................................ 1
3.3 火车票销售对话框的设计 .............................................................. 错误!未定义书签。
4 代码编写.................................................................................................................... 4
4.1 命令按钮的过程代码添加方法 ...................................................... 错误!未定义书签。
4.2 具体代码 ............................................................................................................................ 1
5 程序调试.................................................................................................................... 3
5.1 上机过程中出现的问题和解决方案 ................................................................................ 1
5.2 程序的扩展方案 ................................................................................................................ 1
6 程序运行界面............................................................................................................ 1
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#)是一种编程语言,它是为生
成在 .ET Framework 上运行的多种应用程序而设计的。C# 简单、功能强大、
类型安全,而且是面向对象的。C# 凭借它的许多创新,在保持 C 样式语言的
表示形式和优美的同时,实现了应用程序的快速开发。
Visual Studio 支持 Visual C#,这是通过功能齐全的代码编辑器、项目模板、
设计器、代码向导、功能强大且易于使用的调试器以及其他工具实现的。通
过 .ET Framework 类库,可以访问多种操作系统服务和其他有用的精心设计的
类,这些类可显著加快开发周期。
Access概述:Access 是微软公司推出的基于Windows的桌面关系数据库管
理系统(RDBMS),是Office系列应用软件之一。它提供了表、查询、窗体、报
表、页、宏、模块7种用来建立数据库系统的对象;提供了多种向导、生成器、
模板,把数据存储、数据查询、界面设计、报表生成等操作规范化;为建立功能
完善的数据库管理系统提供了方便,也使得普通用户不必编写代码,就可以完成
大部分数据管理的任务。
1
2 系统分析
2.1 主要模块功能
(1)增加火车票记录模块:用于将新的火车票信息添加到火车票基本信息
表中。
(2)删除火车票记录模块:用于删除火车票基本信息表中的火车票信息。
(3)刷新火车票记录模块:增加记录和删除记录完成后点次按钮更新。
(4)增加火车票预定记录模块:用于预订火车票信息。
(5)删除火车票预定记录模块:用于删除预订火车票信息。
(6)修改密码模块:用于修改后台管理员登录密码信息。
(7)查询火车票模块:用于客户查询所需的火车票信息。
2.2功能模块图
该系统的功能模块图如下图所示:
主界面
火车票预定 火车票查询 后台管理
显示预订信
息
添加火车修改/删除修改登录
票信息 火车票信密码
息
图2-1 模块图
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
字段名称 字段类型 字段大小 索引 必须填写
文本 有(无重复) 否
文本 有(无重复) 否
长整型 有(有重复) 自动编号
50 trainnum
50 date
50 startpos
starttime
50 destination
50 reachtime
长整型 无 否 数字
hardcost
长整型 无 否 数字
softcost
有( 有重复) 否 文本
无 否 文本
无 否 文本
无 日期/时间
无 否 文本
无 否 文本
无 否 货币
无 否 货币
ID
表3-3 “Ticket”数据表的结构
hardleft
Softleft
3.2 图书出版基本信息处理对话框的设计
图书出版基本信息处理对话框的界面如下图所示:
1
图3-1 火车票查询信息对话框
标签控件的属性如表3-4所示。
表3-4 标签对象的基本属性
ID
Textbox3
Textbox1
Textbox2
Radiobottom1
Radiobottom2
Datagridview1
标题内容
火车发车日期
火车发车地
火车目的地
软铺
硬座
显示查询信息
2
图3-2 火车票预订信息对话框
表3-6 编辑框对象的基本属性
Textbox1
Textbox2
Textbox3
Textbox4
Textbox5
Textbox6 E_mail
Textbox7
Textbox8
Combobox1
Radiobottom1
Radiobottom2
预订火车发车日期
火车出发地
火车目的地
火车车次
预订者
真实姓名
身份证
预订火车票类型
软铺
硬座
3
图3-3 火车票后台管理信息对话框
表3-7 编辑框对象的基本属性
Datagridview1
Bottom1
Bottom2
Toolstrip1
Toolstripbottom1
Toolstripbottom2
Toolstripbottom3
显示预订信息
删除预订信息
关闭
功能对话框按钮
打开添加车次信息对话框
打开修改车次信息对话框
打开修改管理员密码对话框
4
图3-4 火车票后台管理信息对话框
表3-8 编辑框对象的基本属性
Textbox1
Textbox2
Textbox3
Textbox4
Textbox5
Textbox6
Textbox7
Textbox8
Textbox9
Textbox10
Bottom1
预订火车发车日期
火车车次
火车发车地
火车软铺票价
火车目的地
火车硬座票价
软铺数量
发车时间
硬座数量
到站时间
确定提交
5
图3-5 火车票后台管理信息对话框
表3-9 编辑框对象的基本属性
Datagridview1
Bottom1
Bottom2
Bottom3
显示火车票信息
提交修改信息
删除所选择的记录
关闭
6
图3-6 火车票后台管理信息对话框
表3-9 编辑框对象的基本属性
textbox1
textbox1
textbox1
textbox1
Bottom1
Bottom2
输入登录帐号
输入原登录密码
输入新登录密码
再次输入新登录密码
确定提交修改信息
关闭对话框
7
4 代码编写
4.1 具体代码
“查询火车票记录”命令按钮的过程代码代码:
private void check_Click(object sender, EventArgs e)
{
if (==string.Empty)
{
MessageBox.Show(this, " 请输入日期时间! ", "Phoenix Information:",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
return;
}
if (==string.Empty)
{
MessageBox.Show(this, " 请输入发车地点! ", "Phoenix Information:",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
return;
}
if (==string.Empty)
{
MessageBox.Show(this, " 请输入目的点! ", "Phoenix Information:",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
return;
}
if (d==false&&d==false)
{
MessageBox.Show(this, " 请选择车票类型! ", "Phoenix Information:",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
return;
}
if (i > 0)
{
this.s[7].Visible = true;
this.s[8].Visible = true;
this.s[9].Visible = true;
this.s[10].Visible = true;
}
i++;
String connstring = @"provider=.4.0;Data Source=";
OleDbConnection conn = new OleDbConnection(connstring);
();
String commstring = "select * from Ticket where date='" + this. + "'and
startpos='" + this. + "'and destination='" + this. + "'";
OleDbCommand commd = new OleDbCommand(commstring, conn);
OleDbDataAdapter myadap = new OleDbDataAdapter();
Command = commd;
DataSet myset = new DataSet();
(myset, "Ticket");
this.urce = ["Ticket"];
();
if (this.d == false)//显示选择的车票类型及价格
{
this.s[9].Visible = false;
this.s[10].Visible = false;
}
else
{
this.s[7].Visible = false;
this.s[8].Visible = false;
}
}
“预定火车票”命令按钮的过程代码如下所示:
private void bookdata_insert()
{
int ticketnumber = Convert.ToInt32(this.);
string datastring = @"provider=.4.0;Data Source=";
String datastring1 = "insert into Book
(booktime,name,phone,shenfen,trainnum,neednum,hard,soft) values('" + this. + "','"
+ this. + "','" + this. + "','" + this. + "','" +
this. + "','" + this. + "','-1','0')";
String datastring2 = "insert into Book
(booktime,name,phone,shenfen,trainnum,neednum,hard,soft) values('" + this. + "','"
+ this. + "','" + this. + "','" + this. + "','" +
this. + "','" + this. + "','0','-1')";
OleDbConnection data_insert = new OleDbConnection(datastring);
data_();
OleDbCommand insertcomm=new OleDbCommand();
tion=data_insert;
if (type == false)
dText = datastring1;
else
dText = datastring2;
eonQuery();
2
String datastring3 = "update Ticket set hardleft=hardleft-'" +
+ "' where trainnum='" + + "'";
String datastring4 = "update Ticket set softleft=softleft-'" +
+ "' where trainnum='" + + "'";
OleDbCommand updatecomm = new OleDbCommand();
tion = data_insert;
if (type == false)
dText = datastring3;
else
dText = datastring4;
eonQuery();
data_();
}
“修改火车票记录”命令按钮的过程代码如下所示:
private void button1_Click(object sender, EventArgs e)
{
string str = this.["Column1"].ng();
String connstring = @"provider=.4.0;Data Source=";
OleDbConnection conn = new OleDbConnection(connstring);
();
String commstring = "update Ticket set trainnum='" +
this.["Column2"].Value + "',[date]='" +
this.["Column3"].Value + "',startpos='" +
this.["Column4"].Value + "',starttime='" +
this.["Column5"].Value + "',destination='" +
this.["Column6"].Value + "',reachtime='" +
this.["Column7"].Value + "',hardleft='" +
this.["Column8"].Value + "',hardcost='" +
this.["Column9"].Value + "',softleft='" +
this.["Column10"].Value + "',softcost='" +
this.["Column11"].Value + "' where ID=" +str;
OleDbCommand commd = new OleDbCommand(commstring, conn);
eonQuery();
();
dataconn();
MessageBox.Show("修改成功!");
}
“删除预订记录”按钮的过程代码如下所示:
private void button2_Click(object sender, EventArgs e)
{
string str= this.["Column1"].ng();
MessageBox.Show(this, " 确定删除该条预订信息? ", "Phoenix Information:",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
String connstring = @"provider=.4.0;Data Source=";
3
OleDbConnection conn = new OleDbConnection(connstring);
();
String commstring = "delete from Book where ID=" +str;
OleDbCommand commd = new OleDbCommand(commstring, conn);
eonQuery();
();
preseant_data();
4
5 程序调试
5.1 上机过程中出现的问题和解决方案
(1)在编写修改火车票信息的代码中,通过对datagridview1中的数据操作,
从而修改数据库中的记录时,程序出现“标准表达式对应数据类型有误”,通过
网上搜索和自己反复修改,最后程序正确。
(2)对于不同窗体间的数据传输时所运用的不同方法进行尝试,出现错误
后,查阅书籍解决。
5.2 程序的扩展方案
(1)程序界面过于单调,可以通过更改背景颜或添加背景图片进行解决。
(2)添加服务器与客户端相连模块。
(3)增加输入格式检测,放置输入不同数据类型。
1
6 程序运行界面
在打开“图书出版管理系统.exe”后,将出现下图所示界面:
图6-1 主窗体
点击进入查询系统,即出现火车票信息查询界面:
1
图6-2 火车票信息查询
2
图6-3 火车票预定界面
当点击“确定并提交预订信息”选择框时,弹出“确认信息对”话框:
图6-4 预订确认信息对话框
3
图6-5 后台管理界面
4
参考文献
1 张庆华 等编著 零基础学Visual C# 2005北京: 机械工程出版社. 2001
2 孙晓非 等编著 C#程序设计基础教程与实验指导 北京:清华大学出版
社.2008
3 王小科 等编著C#程序设计 标准教程 北京:人民邮电出版社.2009
4 刘乃丽 等编著 2.0网络开发详解 北京:电子工业出版社.2008
5 谭桂华 等编著 Visual C# 高级编程范例 北京:清华大学出版社.2004
6 张立 等编著C# 2.0宝典 北京:电子工业出版社.2007
5
附录
心得体会
学号07057335 姓名 吴仁克
对于本次软件实习,多少有些收获。
这次软件实习做的系统是用C#语言编写的。之前没有接触过C#,但有接触过C++和
VB。由于需要,特地借了几本书,其中一本《零基础学Visual C# 2005》学习了一下,了解
到C#的控件功能与VB相似,书中前面的基础知识与C++的内容有些相似。同时还看了书
后的几个实例编程,对于编程我是比较薄弱的,很少投入这方面学习,另外很少动手。这次
实习我主要是做简单类的窗体,比如多个窗体的分配及弹出界面问题,在编写过程中遇到问
题查阅资料。从没有碰过C#到略懂一些已经是质的飞跃了,但还要认真研究学习。
在设计系统首先要对整体框架进行构思,对每一个功能进行实现这个很重要。并且最重
要的是数据库的基本操作,包括Connection、Command、 Datareader 、Dataset和 Dataadapter
对象,添加数据、修改数据、删除数据和查询数据,还有就是DATAGRIDVIEW控件的使
用。这个系统是用ACCESS建立连接数据库,了解到了一些关键的操作语句,C#中有专门
的语句对数据库进行操作。因此对数据库有初步的认识。
在这里面,让我感受最深的还是一种自学精神,多思考,多发现问题,然后经过自己努
力汲取新的知识或者询问老师同学来解决问题,多和同学交流问题。对于这样一种学习途径,
我觉得收益颇深。
总之,通过本次软件实习,知道要多动手解决问题,不要想一步把所有的问题都解决,
要需循序渐进,把理论知识运用要实践中;同时为以后的软件系统设计打下基础,让自己更
好地学习编程和软件设计。
心得体会
在完成这次短学期的任务——用c#编写一个winform模式的《火车票查询预订系统》之
后,这个短学期也结束了。在这期间,通过实践编程,我对C#以及数据库的一些操作有了
一个更加具体的了解,在大二下学期开学时,便已看过C#和数据库操作方面的书籍,但一
直没有付之于实践,起先觉得这个很简单,但真当实践时,却遇到了不少问题,包括不同窗
体之间的数据传输,数据库与窗体间的数据传输的问题等。有些问题让我想了整个下午都想
不出为什么,最后发现原来是自己的编程习惯不好或者是有一些语法规则是书上没有提到,
需要自己去摸索的。当然碰壁也是一个学习的过程,每次当我遇到问题或者我不懂的地方,
我都会去翻看C#和数据库方面的书籍和去GOOGLE搜索我所遇到问题的解决方法,而在这
个过程中,我学到了很多其他的东西,而且对我所遇到的问题方面的知道有了更深一步的了
解。每次解决一个问题或者学到一个我个人觉得有价值的东西,我都会很兴奋。
这次短学期实践的过程,让我体会到了编程时所需要的耐心、决心和良好的编程习惯。
以前编写的都是一些单个文件的简单代码,不需要考虑文件与文件之间的关系,因此编程习
惯没有养好,变量乱定义等毛病一直都有。与此同时,这是第一个和同学一起合作编写的软
件程序,虽说各人能力不同,但分工明确,齐心协力完成了这项任务,第一次体会到了团队
编程的精神。
尽管完成了这次短学期任务,但还是有遗憾,本打算实现客户端与服务器的链接,但由
6
于时间及小组成员对于C#和数据库的掌握能力各不相同,因此没有能实现这一目标。但在
短学期结束后的时间里,我会继续实践,完成这一目标。
学号07057336 姓名 徐志骏
心得体会
我们做的是一个火车票查询管理系统,该系统除了具有查询火车票信息的功能外,还具
有预定,管理等功能。一开始的时候,因为以前并没有做过类似的软件系统,脑中毫无头绪,
只能先从最开始的时候构思一下大概的结构,网上看了一下其他人做的火车票查询系统,渐
渐对于要做的这个系统了解熟悉起来,并且开始思考可以添加哪些功能。
脑中渐渐有了这个系统的模型以后,算是到了做这个系统的指路灯,我们开始了分工,
因为我对于编程不是很擅长,所以我主要负责的是系统界面的构思和数据库的构建。
在这个实习过程中,感触最深的要数查阅大量的设计资料,在做的过程中,通过C#语言的
应用,更加熟悉了C#语言,对于数据库连接,也算是摸清了个大概。在没有做这个系统之
前,虽然有看过这方面的知识,但是从未实践过,只能感觉模糊地知道,但到了具体怎么做
的时候却往往感觉到无从下手。而通过这次实习,书上的知识通过这次应用才算是真正的学
到了自己的脑中,原本面对具体问题时只感到手足无措,知道知识点却不知道怎么应用,经
过这次实习,我觉得这个情况得到了很大的改观,在面对具体问题时,虽然不能做到立即解
决,但是起码会有些头绪,知道从哪里开始下手,这就是我这次实习得到的最大收获
学号07057337 姓名 应慧杰
心得体会
为期十天的短学期很快就结束了,短学期的任务也在大家的努力下初步成形了。。。
这次的我们目标是做一个火车票查询预订系统,大家都出了很多主意,有做界面设计
的,有做关于C#的编程的,有做数据库的连接的,大家各司其职,都很好的发挥了作用。
对于C#我还是初学者,基本上就是看过了一些书上的程序,直至亲自动手,才知道自己对
它的理解还只是停留在初级,很多的问题都出现在了编程的过程中,有些问题实在是感觉自
己毫无办法,完全没有头绪,幸运的是,我们是一个团队,我有着一可以信赖的同伴,有
了问题大家一起想办法,一起翻书,一起百度,一起解决,众人齐心,没有解决不了的问题!
不得不说,关于C#数据库的问题真的很头痛,数据库的添加、数据库的修改、数据库的删
除,数据库的查询,不同界面之间的数据库传输,数据库与界面间的数据传输,很多很多,
都是以前看书体会不到的艰辛,我想,我要学的还有很多。。。
这次的短学期让我体会最深的两点,一个就是团队的力量,众人拾柴火焰高,大家同
心同力,互相帮助,真的让我体会到了一种不一样的成功,还有就是自己需要多多提高动手
的能力,光是看看书而不动手是远远不够的,很多的问题需要动手才会发现,很多问题需要
7
动手才会让你真正懂得。我想我会继续努力学习,在编程的过程中有种做其他事感觉不到的
开心,我一定再加倍的充实自己,在这条路上越走越远。。。
学号 07057338 姓名 俞廷炜
8
本文发布于:2023-05-26 06:32:13,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/falv/fa/83/115308.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |