C#项目-高客车票预售系统_第1页
C#项目-高客车票预售系统_第2页
C#项目-高客车票预售系统_第3页
C#项目-高客车票预售系统_第4页
C#项目-高客车票预售系统_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、专业 专注 创新 共赢 高客车票预售系统高客车票预售系统专业 专注 创新 共赢 需求描述需求描述 模拟在线预售高客车票的功能:根据用户输入查询高客车次信息根据用户输入查询高客车次信息实现车票预售功能实现车票预售功能要求完成相关界面设计及功能实现要求完成相关界面设计及功能实现专业 专注 创新 共赢 开发环境开发环境 Visual Studio 2008 SQL Server 2005 案例演示案例演示 专业 专注 创新 共赢 技能点技能点 利用控件设计窗体利用ADO.NET查询和操作数据库利用DataGridView控件显示数据专业 专注 创新 共赢 前期准备前期准备 技术总监提供图片和数据库文

2、件案例演示案例演示 专业 专注 创新 共赢 需求分析需求分析 功能分析登录:登录:登录窗体显示连接系统百分比,连接系统完毕隐藏登录窗体,打开主窗体。查询车次信息:查询车次信息:根据用户输入的始发站和终点站进行相应的车次查询,并显示查询的结果。查询车票已售信息:查询车票已售信息:用户选择车次,查询此车次的所有已售出车票信息并显示。查询的车次已售票的发车日期在系统时间之后。预定车票:预定车票:用户输入购买的票数和发车日期,预定车票后先检查预定票数是否足够,通过检查后把数据插入数据库,并把预定后的结果显示在主窗体。专业 专注 创新 共赢 需求分析需求分析界面分析登录窗体:登录窗体:设置窗体背景图片,

3、用标签控件显示百分比数字,使用Timer控件控制百分比的递增。主窗体:主窗体:三个GroupBox控件划分三个区域。需要用户输入的始发站和终点站文本框,查询按钮,显示查询车次结果的DataGridView控件,显示查询用户选择车次的已售票信息的DataGridView控件,显示用户选择车次始发站、终点站和发车时间的文本框,给用户提供选择发车日期的DateTimePicker控件,用户输入预定票数的文本框,预定按钮和关闭按钮。专业 专注 创新 共赢 需求分析需求分析数据库名称:名称:TicketDB 数据表:数据表:TicketInfo:车次信息表,包含车次编号、始发站、终点站、发车时间、票价和

4、座位数。OrderInfo:预定票信息表,包含预定票编号、车次编号、发车日期、预定票数。专业 专注 创新 共赢 任务步骤任务步骤 第一阶段(50分钟)设计登录窗体,实现登录功能设计登录窗体,实现登录功能第二阶段(50分钟)设计主窗体,实现关闭按钮的功能设计主窗体,实现关闭按钮的功能第三阶段(50分钟)实现查询车次信息的功能实现查询车次信息的功能第四阶段(50分钟)实现查看已售出车票信息的功能实现查看已售出车票信息的功能第五阶段(50分钟)实现预定车票的功能实现预定车票的功能专业 专注 创新 共赢 第一阶段第一阶段第一阶段(50分钟)创建创建WinForm应用程序应用程序Ticket,修改窗体名

5、称为,修改窗体名称为LoginForm。设置窗体属性并添加控件设置窗体属性并添加控件在在Timer控件的事件里实现百分比的递增,百分比递控件的事件里实现百分比的递增,百分比递增到增到100时,隐藏登录窗体,以模式窗口打开主窗体时,隐藏登录窗体,以模式窗口打开主窗体 附加数据库附加数据库TicketDB 要求员工自己动手操作,技术总监巡视,解答员工提出的要求员工自己动手操作,技术总监巡视,解答员工提出的问题问题专业 专注 创新 共赢 阶段检查阶段检查针对第一阶段抽查员工的操作结果技术总监给出点评或集中演示难点部分专业 专注 创新 共赢 第一阶段结果演示第一阶段结果演示登录窗体:专业 专注 创新

6、共赢 第二阶段第二阶段第二阶段(50分钟)在项目中添加主窗体在项目中添加主窗体TicketForm,设计主窗体,设计主窗体 。在在“关闭关闭”按钮的事件中实现退出程序的代码按钮的事件中实现退出程序的代码 要求员工自己动手操作,技术总监巡视,解答员工提出的要求员工自己动手操作,技术总监巡视,解答员工提出的问题问题专业 专注 创新 共赢 阶段检查阶段检查针对第二阶段抽查员工的操作结果技术总监给出点评或集中演示难点部分专业 专注 创新 共赢 第二阶段结果演示第二阶段结果演示主窗体:专业 专注 创新 共赢 第三阶段第三阶段第三阶段(50分钟)实现查询车次信息的功能实现查询车次信息的功能 : 用户在文本

7、框输入始发站和终点站,点击“查询”按钮,从数据库表TicketInfo中查询相应的车次信息显示在DataGridView控件dgvTrains中 要求员工自己动手操作,技术总监巡视,解答员工提出的要求员工自己动手操作,技术总监巡视,解答员工提出的问题问题专业 专注 创新 共赢 阶段检查阶段检查针对第三阶段抽查员工的完整代码技术总监给出点评或集中演示难点部分专业 专注 创新 共赢 第三阶段关键代码第三阶段关键代码查询前判断适配器是否已创建查询前清空数据集/判断适配器对象是否判断适配器对象是否已创建已创建if (adapter = null) /如果为空,创建适配器如果为空,创建适配器 adapt

8、er = new SqlDataAdapter(str, con);else /不为空,重新给适配器赋查询语句不为空,重新给适配器赋查询语句 adapter.SelectCommand.CommandText = str;allTrains.Tables.Clear(); /清清除数据集中的表除数据集中的表专业 专注 创新 共赢 第三阶段结果演示第三阶段结果演示主窗体:查询车次专业 专注 创新 共赢 第四阶段第四阶段第四阶段(50分钟)实现查看已售出车票信息的功能实现查看已售出车票信息的功能 : 用户用鼠标在显示车次信息的DataGridView控件中选中一行,根据选中行的车次编号在数据库中进

9、行内联接查询两个表,查询结果保存到数据集中,在第二个DataGridView控件里显示此车次的所有已售票信息 要求员工自己动手操作,技术总监巡视,解答员工提出的要求员工自己动手操作,技术总监巡视,解答员工提出的问题问题专业 专注 创新 共赢 阶段检查阶段检查针对第四阶段抽查员工的完整代码技术总监给出点评或集中演示难点部分专业 专注 创新 共赢 第四阶段关键代码第四阶段关键代码根据数据集里表的个数判断内联接查询结果是否已经保存到数据集中。重新填充数据集/判断数据集中表的数量是否多于判断数据集中表的数量是否多于1个个if (allTrains.Tables.Count 1) /如果多于如果多于1个

10、,就把里面的个,就把里面的OrderTable表清空表清空 allTrains.TablesOrderTable.Clear();/重新填充数据集重新填充数据集adapter.Fill(allTrains, OrderTable);专业 专注 创新 共赢 第四阶段结果演示第四阶段结果演示主窗体:查询已售出车票信息专业 专注 创新 共赢 第五阶段第五阶段第五阶段(50分钟)实现预定车票的功能实现预定车票的功能 : 用户点击“预定”按钮,先进行用户输入的非空验证,再检查预定车票数是否超出此车次的可预定票数,通过检查后把预定票信息添加到数据库的OrderInfo表中,最后清空数据集里保存已售出车票信

11、息表的数据,重新填充这个表 要求员工自己动手操作,技术总监巡视,解答员工提出的要求员工自己动手操作,技术总监巡视,解答员工提出的问题问题专业 专注 创新 共赢 阶段检查阶段检查针对第五阶段抽查员工的完整代码技术总监给出点评或集中演示难点部分专业 专注 创新 共赢 第五阶段关键代码第五阶段关键代码检查用户预定票数是否超出可预定数量检查用户预定票数是否超出可预定数量/保存用户预定票数保存用户预定票数int number = int.Parse(txtNumber.Text.Trim();/从车次信息中取出总座位数保存从车次信息中取出总座位数保存int allCount = Convert.ToIn

12、t32(dgvTrains.SelectedRows0.Cells5.Value);int count=0; /声明变量保存已售出票数,初始为声明变量保存已售出票数,初始为0/循环数据集已售出表的所有行循环数据集已售出表的所有行foreach (DataRow row in allTrains.TablesOrderTable.Rows) /判断截取的字符串是否和用户预定票的发车日期相等判断截取的字符串是否和用户预定票的发车日期相等 if(date = dtDate.Text.Trim() /如果相等,保存此发车日期的已售出票数如果相等,保存此发车日期的已售出票数 count = Convert.ToInt32(rowNumber); break; /中止循环中止循环 专业 专注 创新 共赢 第五阶段结果演示第五阶段结果演示主窗体:预订车票专业 专注 创新 共赢 总结总结巩固的知识点:条件判断语句条件判断语句:if循环结构循环结构:foreach自定义方法自定义方法:检查用户预定票数是否超出可预定数量检查用户预

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论