火车订票系统毕业论文
pds.CurrentPageIndex = Int32.Parse(lblCurrent.Text) - 1; lblAll.Text = pds.PageCount.ToString(); if (pds.IsFirstPage) {
LnkbtnFront.Enabled = false; } else {
LnkbtnFront.Enabled = true; }
if (pds.IsLastPage) {
LnkbtnNext.Enabled = false; } else {
LnkbtnNext.Enabled = true; }
DataList1.DataSource = pds; DataList1.DataBind(); }
protected void Page_Load(object sender, EventArgs e) {
if (!Page.IsPostBack) {
lblCurrent.Text = \; Datalistbind(); } }
protected void LnkbtnFirst_Click(object sender, EventArgs e) {
lblCurrent.Text = \; Datalistbind(); }
protected void LnkbtnFront_Click(object sender, EventArgs e) {
lblCurrent.Text = (Int32.Parse(lblCurrent.Text) - 1).ToString(); Datalistbind(); }
protected void LnkbtnNext_Click(object sender, EventArgs e) {
lblCurrent.Text = (Int32.Parse(lblCurrent.Text) + 1).ToString(); Datalistbind(); }
34
火车订票系统毕业论文
protected void LnkbtnLast_Click(object sender, EventArgs e) {
lblCurrent.Text = lblAll.Text; Datalistbind(); }
protected void LnkbtnTo_Click(object sender, EventArgs e) {
lblCurrent.Text = txtTo.Text; Datalistbind(); } }
//用户退票代码,当在系统日期之后的可以退票,系统当天的,如果开车时间大于当前的系统时间20分钟就可以退票,否则过期的都不好退票。 DateTime k1, k2,k3; string sql;
int rowindex = Convert.ToInt32(e.CommandArgument); a = GridView2.Rows[rowindex].Cells[0].Text.ToString(); Session[\] = a;
b = GridView2.Rows[rowindex].Cells[1].Text.ToString(); Session[\] = b;
c = GridView2.Rows[rowindex].Cells[2].Text.ToString(); Session[\] = c;
d = GridView2.Rows[rowindex].Cells[5].Text.ToString(); Session[\] = d;
k1 = (Convert.ToDateTime(Session[\]));
k2 = (Convert.ToDateTime(DateTime.Now.ToShortTimeString())); k3=(Convert.ToDateTime(Session[\]));
if (k3.Day> DateTime.Now.Day ||( k3.Day == DateTime.Now.Day && k2.AddMinutes(20)<= k1)) { {
Response.Write(\退票成功!')\); SqlConnection con = new SqlConnection();
con.ConnectionString = \Source=localhost;Initial Catalog=TicketsMS;Integrated Security=True\;
con.Open();
SqlCommand com = new SqlCommand(); com.Connection = con;
com.CommandText = \ + Session[\] + \ + Session[\] + \; SqlDataReader dr = com.ExecuteReader(); dr.Close(); con.Close(); }
35
火车订票系统毕业论文
} else {
Response.Write(\票已过期,退票失败!')\); } }
//退票delete事件代码
DELETE FROM tbl_orderhistory WHERE (OrderID = @OrderID) AND (times > CONVERT(varchar(10) , getdate(), 120 )) or ((OrderID = @OrderID) and (times = CONVERT(varchar(10) , getdate(), 120 )) and (datediff(minute,CONVERT(varchar(8) , getdate(), 108 ), beginTime)>=20)) //查询车次信息,如果没有查到,出现相应的信息提示。 string sql;
int c1 = 0; //创建数据库连接
SqlConnection conn1 = new
SqlConnection(ConfigurationManager.ConnectionStrings[\].ConnectionString); conn1.Open(); //创建命令对象
SqlCommand comm1 = new SqlCommand(); //查找数据库表中的信息
comm1.CommandText = \tbl_trains.trainID=tbl_ticket.trainID where \ + Session[\]; comm1.Connection = conn1;
SqlDataReader dr1 = comm1.ExecuteReader(); while (dr1.Read()) {
c1 = c1 + 1; }
dr1.Close(); if (c1 > 0) {
sql = \* from tbl_trains join tbl_ticket on tbl_trains.trainID=tbl_ticket.trainID where \ + Session[\];
SqlDataSource1.SelectCommand = sql; GridView1.DataBind(); } else {
Label1.Visible = true; GridView1.Visible = false; DropDownList1.Visible = false; }
五、小结
36
火车订票系统毕业论文
本次毕业设计已经接近尾声了,此时我心中非常地兴奋,一个多月的努力即将完成,首先,很开心能和陈老师合作,应该说这次的项目,让我收获了很多的东西,这次的课题,我觉的很好,虽然这个课题很常见,但是,往常我们做的,都没有办法实现真正意义上的动态更新,这次的动态的网站,我参考了很多网上的订票系统。我认为一个订票系统,我们需要的就是数据的自动更新,座位号的自动更新,日期的自动更新,退票之后,与票数的递减操作以及后台操作新建车次之后的与票数的自动生成等操作,只有实现了这些功能,才能称得上是一个动态的网站。
对于这次的网站制作,我认为动态网站的设计跟数据库是密不可分的,以前的我们只会简单的建立数据表,此次的我充分运用到了数据的存储过程,触发器以及SQL server代理的功能操作,以实现网站的动态更新。还有就是不同页面之间的数据传递功能,充分运用了Session来进行不同页面之间的数据传递操作。在订票操作时,为了读取座位号,一开始我是想读取数据库中已有的最后一个座位号,然后当下一个用户进行订购的时候,只要将座位号依次增加就可以了,可是,当我们用户进行退票操作的时候,那个座位号就会空出来了,这样余票数就会跟座位号不想符合,而且退的那张也会就此空出来,这样的订票系统,显然是不合理的,于是,我想到每次订票的时候,只需要将数据库中的数据从头读取,如果数据库中有这条记录,那就直接跳过,如果没有,那就插入这条数据,这样的话,就不会出现与票数与座位号不统一的问题了。另外,当插入新建车次时,同样运用了触发器向数据库中余票表中插入相应的数据信息。另外,参考网上的订票网站,都是只能够订购几天的火车票,于是,我想随着系统日期的更新,数据库表中日期信息,也能够自动的更新,一开始,我认为用触发器可以达到的,但是发现不行,后来参考网上的资料信息,发现,数据库中有SQL Server代理功能,可以实现数据表的内容的更新,只有这样,这才是一个动态的网站,另外网站还附带了发表公告信息的功能,为了内容的好看,特地附加了在线编辑器,通过这个编辑器可以对发表的文章信息进行word的编辑功能,使得文字内容达到需要的色彩效果。
通过这一段时期的设计,我也学到了很多东西,包括很多专业方面的知识,以及上课时没有学过的知识。同时也我意识到了一点,遇到不懂的问题,我们可以充分的利用网络的资源,此时的我们特别需要自学的能力,因为我们不可能什么都会,但我们可以学,去理解,毕竟我们不是万能的。还有就是要特别感谢陈老师对我指导,在网站的制作过程中遇到了种种地问题,都得到了陈老师的指导。
六、谢辞
经过这些日子的忙碌和工作,本次毕业论文的的完成也随之进入了尾声。从开始进入课题到论文的顺利完成,一直都离不开老师、同学、朋友给我热情的帮助,在这里请接受我诚挚的谢意!
37
火车订票系统毕业论文
我首先要感谢我的指导老师陈瑾老师,应该说这次网站能够顺利的完成多亏陈老师的帮忙,也让我发现了我学到的不足,她让我知道好多东西可以换种角度去做。
感谢我的辅导员老师历佳老师,历老师在大学这两年的生活中,给了我们很多学习上和生活上的帮助,让我们从一个什么都不懂的高中生成为了一个大学生,认识了很多,看到了很多,为了我们以后步入社会打下了坚实的基础。
另外,感谢校方给予我这样一次机会,能够独立地完成一个课题,并在这个过程当中,给予我们各种方便,使我们在即将离校的最后一段时间里,能够更多学习一些实践应用知识,增强了我们实践操作和动手应用能力,提高了独立思考的能力。再一次对我的母校表示感谢。
七、参考文献
[1] 王惠刚,王挺.ASP.NET实用培训教程[M].北京:海洋出版社,2003.7 [2] 眭碧霞,李春华,张玮.ASP.NET程序设计与开发[M].西安:西安电子科技大学出版社.2008.9
[3] 万科,覃剑.Visual C#.NET程序设计基础与上机指导[M].北京:清华大学出版社.2007.3
[4] 刘桂林,谢尧.SQL Sever数据库应用技术[M].北京:中国计划出版社.2007.8
38