虚位以待(AD)
虚位以待(AD)
首页 > 软件编程 > C#编程 > C#实现航班查询及预订功能

C#实现航班查询及预订功能
类别:C#编程   作者:码皇   来源:互联网   点击:

这篇文章给大家介绍利用C 完成航班机票信息查询,航班机票预定等功能。代码简单易懂,非常不错,具有参考借鉴价值,需要的朋友参考下吧

具体代码如下所示:

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using System.Data.SqlClient;
    namespace FrmHangBanUser{
    public partial class FrmUser : Form{
    //1.连接字符串string connString = "Data Source = .;
    Initial Catalog=Ticket;
    User ID = sa;
    Pwd = sa";
    //3.创建DataSet对象DataSet set = new DataSet();
    public FrmUser(){
    InitializeComponent();
    }
    #region 窗体加载事件/// <summary>/// 窗体加载事件!!/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void FrmUser_Load(object sender, EventArgs e){
    //FlightInfo();
    AirwaysInfo();
    CityInfo();
    }
    #endregion#region 出发地/// <summary>/// 出发地/// </summary>public void AirwaysInfo(){
    try{
    //2.创建Connection对象SqlConnection conn = new SqlConnection(connString);
    //4.创建DataAdapter对象StringBuilder _sb = new StringBuilder();
    _sb.AppendLine(@"SELECT Id,CityName FROM CityInfo");
    SqlDataAdapter adapter = new SqlDataAdapter(_sb.ToString(), conn);
    //5.填充数据集adapter.Fill(set, "CityUser");
    //6.绑定数据源到ComboBox控件中this.cboAirways.DataSource = set.Tables["CityUser"];
    this.cboAirways.ValueMember = "Id";
    this.cboAirways.DisplayMember = "CityName";
    //7.添加行对象DataRow row = set.Tables["CityUser"].NewRow();
    row["Id"] = -1;
    row["CityName"] = "请选择";
    set.Tables["CityUser"].Rows.InsertAt(row, 0);
    //8.默认选中一行this.cboAirways.SelectedIndex = 0;
    }
    catch (Exception ex){
    MessageBox.Show(ex.Message);
    }
    }
    #endregion#region 非空验证/// <summary>/// 非空验证/// </summary>public void Check(){
    if(this.cboAirways.SelectedIndex == 0){
    MessageBox.Show("请输入你要出发的城市啊!!","操作提示",MessageBoxButtons.OKCancel,MessageBoxIcon.Question);
    }
    else if (this.cboMudidi.SelectedIndex == 0){
    MessageBox.Show("请输入你的目的地啊啊啊!!", "操作提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
    }
    }
    #endregion#region 目的地/// <summary>/// 目的地/// </summary>public void CityInfo(){
    try{
    //2.创建Connection对象SqlConnection conn = new SqlConnection(connString);
    //4.创建DataAdapter对象StringBuilder _sb = new StringBuilder();
    _sb.AppendLine(@"SELECT Id,CityName FROM CityInfo");
    SqlDataAdapter adapter = new SqlDataAdapter(_sb.ToString(), conn);
    //5.填充数据集adapter.Fill(set, "City");
    //6.绑定数据源到ComboBox控件中this.cboMudidi.DataSource = set.Tables["City"];
    this.cboMudidi.ValueMember = "Id";
    this.cboMudidi.DisplayMember = "CityName";
    //7.添加行对象DataRow row = set.Tables["City"].NewRow();
    row["Id"] = -1;
    row["CityName"] = "请选择";
    set.Tables["City"].Rows.InsertAt(row, 0);
    //8.默认选中一行this.cboMudidi.SelectedIndex = 0;
    }
    catch (Exception ex){
    MessageBox.Show(ex.Message);
    }
    }
    #endregion#region 航班信息/// <summary>/// 航班信息/// </summary>public void FlightInfo(){
    try{
    //2.创建Connection对象SqlConnection conn = new SqlConnection(connString);
    //4.创建DataAdapter对象StringBuilder _sb = new StringBuilder();
    _sb.AppendLine(@"SELECT F.FlightNO,A.Airways,F.LeaveTime,F.LandTime,F.PriceFROM FlightInfo AS F INNER JOIN AirwaysInfo AS A ON F.AirwaysId = A.Id");
    SqlDataAdapter adapter = new SqlDataAdapter(_sb.ToString(), conn);
    //5.填充数据集if (set.Tables["Airways"]!=null){
    set.Tables["Airways"].Clear();
    }
    adapter.Fill(set, "Airways");
    //6.绑定数据源this.dvgUserInfo.DataSource = set.Tables["Airways"];
    }
    catch (Exception ex){
    MessageBox.Show(ex.Message);
    }
    }
    #endregion#region 查询按钮功能/// <summary>/// 查询按钮功能/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void btnChaXun_Click(object sender, EventArgs e){
    Check();
    Filter();
    }
    #endregion#region 按选择的条件筛选/// <summary>/// 按选择的条件筛选/// </summary>public void Filter(){
    try{
    SqlConnection conn=new SqlConnection(connString);
    //筛选条件DataSet ds = new DataSet();
    int city = Convert.ToInt32(cboAirways.SelectedValue);
    int Destination = Convert.ToInt32(cboMudidi.SelectedValue);
    StringBuilder sb = new StringBuilder();
    if(city!=-1 && Destination!=-1){
    sb.AppendLine(@"SELECT F.FlightNO,A.Airways,F.LandTime,F.LeaveTime,F.PriceFROM FlightInfo AS F INNER JOIN AirwaysInfo AS A ON F.AirwaysId = A.Id");
    sb.AppendFormat(@"WHERE LeaveCity = {
    0}
    AND Destination = {
    1}
    ", city, Destination);
    }
    SqlDataAdapter adapter = new SqlDataAdapter(sb.ToString(),conn);
    adapter.Fill(ds,"User");
    this.dvgUserInfo.DataSource = ds.Tables["User"];
    }
    catch (Exception ex){
    MessageBox.Show(ex.Message);
    }
    }
    #endregion#region 关闭按钮功能/// <summary>/// 关闭按钮功能/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void btnGuanbi_Click(object sender, EventArgs e){
    DialogResult result = MessageBox.Show("你确定要退出程序嘛~","退出提示",MessageBoxButtons.OKCancel,MessageBoxIcon.Stop);
    if(result == DialogResult.OK){
    Application.Exit();
    //退出程序了。。 - - |||}
    }
    #endregion#region 实现航班选择功能/// <summary>/// 实现航班选择功能/// </summary>private void dvgUserInfo_MouseClick(object sender, MouseEventArgs e){
    txtHNo.Text = dvgUserInfo.SelectedRows[0].Cells["FlightNO"].Value.ToString();
    txtGongSi.Text = dvgUserInfo.SelectedRows[0].Cells["Airways"].Value.ToString();
    this.txtChuFa.Text = this.cboAirways.Text;
    this.txtMuDi.Text = this.cboMudidi.Text;
    txtShijian.Text = dvgUserInfo.SelectedRows[0].Cells["LeaveTime"].Value.ToString();
    txtDaoDa.Text = dvgUserInfo.SelectedRows[0].Cells["LandTime"].Value.ToString();
    txtPiaoJia.Text = dvgUserInfo.SelectedRows[0].Cells["Price"].Value.ToString();
    }
    #endregion#region 航班预定功能/// <summary>/// 航班预定功能/// </summary>/// <returns></returns>public bool Insert(){
    Random _dom = new Random();
    int no = _dom.Next(100000, 1000000);
    SqlConnection conn = null;
    string No = this.txtHNo.Text;
    DateTime LeaveDate = this.dateTimePicker1.Value;
    string Number = this.nuShang.Value.ToString();
    try{
    conn = new SqlConnection(connString);
    //构建插入学生记录的SQL的语句StringBuilder _sbu = new StringBuilder();
    _sbu.AppendLine("INSERT INTO OrderInfo(OrderId,FlightNo,LeaveDate,Number)");
    _sbu.AppendFormat("VALUES('{
    0}
    ','{
    1}
    ','{
    2}
    ','{
    3}
    ')", no, No, LeaveDate, Number);
    _sbu.AppendFormat("SELECT @@IDENTITY");
    //创建Command对象SqlCommand command = new SqlCommand(_sbu.ToString(), conn);
    //打开连接conn.Open();
    //调用方法int result = command.ExecuteNonQuery();
    //对返回值进行处理if (result > 0){
    MessageBox.Show("恭喜你!预定成功!订单编号为"+no);
    return true;
    }
    else{
    MessageBox.Show("预定失败!请重试!");
    return false;
    }
    }
    catch (Exception ex){
    MessageBox.Show(ex.Message);
    return false;
    }
    finally{
    //关闭连接conn.Close();
    }
    }
    #endregion#region 预定按钮/// <summary>/// 预定按钮!/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void btnYuDing_Click(object sender, EventArgs e){
    Insert();
    }
    #endregion}
    }

总结

以上所述是小编给大家介绍的C#实现航班查询及预订功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关热词搜索: C 航班查询