new SqlParameter(\,arrival), new SqlParameter(\,coachnum) }; dt = helper.ExecuteQuery(cmdText, paras, CommandType.StoredProcedure); tno = Convert.ToInt32(dt.Rows[0][\]); return tno; } (3) if (purchase.UpdateTicket(tno) && purchase.AddG(tno, datetime2, seat)) MessageBox.Show(\购买成功!您购买的票为:\\n\ + depart + \ + arrival + \ + \出发时间:\ + date + \ + time + \ + \车牌号:\ + coachnum + \ + \座位号:\ + seat); else MessageBox.Show(\购买失败!\); (4)public bool UpdateTicket(int tno) { bool flag = false; string cmdText = \; SqlParameter[] paras = new SqlParameter[]{ new SqlParameter(\,tno) }; int res = helper.ExecuteNonQuery(cmdText, paras, CommandType.StoredProcedure); if (res > 0) { flag = true; } return flag; } (5)public bool AddG(int tno, DateTime datetime2, string seat) { bool flag = false; string cmdText = \; SqlParameter[] paras = new SqlParameter[]{ new SqlParameter(\,tno), new SqlParameter(\,datetime2), new SqlParameter(\,seat) }; int res = helper.ExecuteNonQuery(cmdText, paras, CommandType.StoredProcedure); if (res > 0) { flag = true; } return flag; }
16
(6)存储过程 ALTER PROCEDURE dbo.UpdateTicket @tno int AS /* SET NOCOUNT ON */ BEGIN /* ( @parameter1 int = 5, @parameter2 datatype OUTPUT ) */ update Ticket set SoldTicket = SoldTicket+1,LastTicket = LastTicket-1 where Tno = @tno END (7)ALTER PROCEDURE dbo.AddPurchase @tno int, @datetime1 datetime, @seat nvarchar(20) /* ( @parameter1 int = 5, @parameter2 datatype OUTPUT ) */ AS /* SET NOCOUNT ON */ BEGIN insert into Purchase(Tno,Ptime,ReserveORBuy,Seat) values (@tno,@datetime1,'预订',@seat) END 数据库连接类代码: ///
17
{ string connStr = \; sqlconn = new SqlConnection(connStr); } private SqlConnection GetConn() { if (sqlconn.State == ConnectionState.Closed) { sqlconn.Open(); } return sqlconn; } ///
18
/// /// ///
19
{ DataTable dt = new DataTable(); cmd = new SqlCommand(cmdText, GetConn()); cmd.CommandType = ct; cmd.Parameters.AddRange(paras); using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection)) { dt.Load(sdr); } return dt; } } 购买成功界面: 这次课程设计使我巩固了数据库和C#的知识,通过实践,我学到了很多课本上学不到的知识。在这次车站售票管理系统的开发过程中,我也遇到了许多的问题,例如:数据库连接错误,学习写存储过程,数实验总据如何绑定等等,经过认真思考并在老师和同学的帮助下我顺利完成了本次设计。 首先我需要对车站售票管理系统进行系统分析:如需求分析和开发工具选择,功能分配等等。考虑要实现整个程序大致需要的几个模块画数据流图和数据字典。然后在概念模型设计中,将各局部应用涉及的数据分别从数据字典中抽取出来,参照数据流图,标定各局部应用中的实体、实体的属性,标识实体的码,确定实体之间的联系及其类型,设计E-R图。在逻辑结构设计阶段,把概念结构设计阶段设计好的基本结 E-R图转换为关系模型。接着进行数据库的建立还有代码的书写:这是一个至关重要而且需要反复修改的环节,在此环节中又发现总体设计和模块思想会存在很多问题,需要不断改进。如何实现各模块功能,达到预期效果也将是一项繁复的工作。最后还要进行测试系统,发现所有可能出现的问题。 指导教师意见 签名: 年 月 日 注:各学院可根据教学需要对以上栏目进行增减。表格内容可根据内容扩充。
20