文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

C#如何实现航班预订系统

2023-06-30 17:23

关注

本篇内容介绍了“C#如何实现航班预订系统”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

连接数据库

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Data;using System.Data.SqlClient;namespace MyTickets{    public class DBHelper    {        //数据库连接字符串        public string connString = @"Data Source=.;Initial Catalog=MyTicket;Trusted_Connection=Yes;Connect Timeout=90";        /// <summary>        /// 数据库连接对象        /// </summary>        private SqlConnection connction;    public SqlConnection Connction        {            get            {                if (connction == null)                {                    connction = new SqlConnection(connString);                }                return connction;            }        }        /// <summary>        /// 打开数据库连接        /// </summary>        public void OpenConnection()        {            if (connction.State == ConnectionState.Closed)            {                Connction.Open();            }            else if (connction.State == ConnectionState.Broken)            {                Connction.Close();                Connction.Open();            }                   }        /// <summary>        /// 关闭数据库连接        /// </summary>        public void CloseConnection()        {            if(connction.State==ConnectionState.Open|| connction.State == ConnectionState.Broken)            {                Connction.Close();            }        }    }}

开头动画代码

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.Threading;namespace MyTickets{    public partial class 开头 : Form    {        public 开头()        {            InitializeComponent();            timer1.Interval = 1000;            timer1.Start();            timer1.Tick += new EventHandler(timer1_Tick);        }        private void 开头_Load(object sender, EventArgs e)        {            TransparencyKey = BackColor;                    }        private void timer1_Tick(object sender, EventArgs e)        {            timer1.Stop();            初始界面 f0 = new 初始界面();            this.Hide();            f0.ShowDialog();        }    }}

机票预订界面

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 MyTickets{    public partial class 机票预订 : Form    {        #region 构造函数        public 机票预订()        {            InitializeComponent();        }        public 机票预订(string text)        {            InitializeComponent();            usename.Text = text;        }        #endregion        #region 方法        #region 绑定cbo        /// <summary>        /// 绑定cbo        /// </summary>        private void BindCbo()        {            DBHelper dbHelper = new DBHelper();            //sql语句            string sql = "select * from cityInfo";            //适配器adapter            SqlDataAdapter adapter = new SqlDataAdapter(sql, dbHelper.Connction);            //数据集            DataSet ds = new DataSet();            //填充数据集            adapter.FillSchema(ds, SchemaType.Source, "cityInfo");            adapter.Fill(ds, "cityInfo");            //新的一行            DataRow row = ds.Tables["cityInfo"].NewRow();            row[0] = -1;            row[1] = "请选择";            //插入            ds.Tables["cityInfo"].Rows.InsertAt(row, 0);            //获取视图            DataView dv1 = new DataView(ds.Tables["cityInfo"]);            DataView dv2 = new DataView(ds.Tables["cityInfo"]);            //绑定            this.cboDestinationCity.DataSource = dv1;            this.cboDestinationCity.DisplayMember = "cityName";            this.cboDestinationCity.ValueMember = "id";            this.cboLeaveCity.DataSource = dv2;            this.cboLeaveCity.DisplayMember = "cityName";            this.cboLeaveCity.ValueMember = "id";         }        #endregion        #region 绑定dgv        /// <summary>        /// 绑定dgv        /// </summary>        private void BindDgv()        {            DBHelper dbHelper = new DBHelper();            string sql = string.Format(@"select flightNo,airways,leaveTime,landTime,price                                        from flightInfo,airwaysInfo                                        where flightInfo.airwaysId=airwaysInfo.id                                        and leaveCity={0}                                        and destinationCity={1}", cboLeaveCity.SelectedValue, cboDestinationCity.SelectedValue);            SqlDataAdapter adapter = new SqlDataAdapter(sql, dbHelper.Connction);            DataSet ds = new DataSet();            adapter.Fill(ds, "flightInfo");            this.dataGridView1.DataSource = ds.Tables["flightInfo"];        }        #endregion        #region 验证预订部分的用户输入        /// <summary>        /// 验证预订部分的用户输入        /// </summary>        /// <returns></returns>        private bool ValidateInput()        {            if (txtFlightNo.Text == string.Empty)            {                MessageBox.Show("请选择一个航班!");                return false;            }            if (dateTimePicker1.Value < DateTime.Now)            {                MessageBox.Show("请选择正确的出发日期!");                dateTimePicker1.Focus();                return false;            }            return true;        }         #endregion        #endregion        #region 事件        //加载事件        private void Form1_Load(object sender, EventArgs e)        {            BindCbo();            TransparencyKey = BackColor;        }        //查询事件        private void tbnQuery_Click(object sender, EventArgs e)        {            if(cboLeaveCity.Text=="请选择"||cboDestinationCity.Text=="请选择")            {                MessageBox.Show("请选择出发地与目的地!");                this.dataGridView1.DataSource = null;                return;            }            BindDgv();            //清空txt            foreach (Control c in groupBox2.Controls)            {                if(c is TextBox)                {                    c.Text = string.Empty;                }            }        }        //单击dgv        private void dataGridView1_Click(object sender, EventArgs e)        {            if(dataGridView1.Rows.Count>0)            {                this.txtFlightNo.Text = dataGridView1.CurrentRow.Cells["flightNo"].Value.ToString();                this.txtAirways.Text = dataGridView1.CurrentRow.Cells["airways"].Value.ToString();                this.txtFrom.Text = cboLeaveCity.Text;                this.txtTo.Text = cboDestinationCity.Text;                this.txtLeaveTime.Text = dataGridView1.CurrentRow.Cells["leaveTime"].Value.ToString();                this.txtLandTime.Text = dataGridView1.CurrentRow.Cells["landTime"].Value.ToString();                this.txtPrice.Text = dataGridView1.CurrentRow.Cells["price"].Value.ToString();            }        }        //点击关闭        private void button2_Click(object sender, EventArgs e)        {            Application.Exit();        }        //点击预定        private void button1_Click(object sender, EventArgs e)        {            if(ValidateInput())            {                Random random = new Random();                int orderId= random.Next(100000, 9999999);                string flightNo = this.txtFlightNo.Text;                string leaveDate = this.dateTimePicker1.Value.ToShortDateString();                string landTime = this.txtLandTime.Text;                string price = this.txtPrice.Text;                int num = (int)this.numNunber.Value;                string leavePlace = this.txtFrom.Text;                string landPlace = this.txtTo.Text;                string usename = this.usename.Text;                string sql = string.Format(@"insert into orderInfo(orderId,flightNo,leaveDate,landTime,price,Number,leavePlace,landPlace,useId)                                            values({0},'{1}','{2}','{3}','{4}',{5},'{6}','{7}','{8}')", orderId, flightNo, leaveDate,landTime,price,num, leavePlace, landPlace,usename);                DBHelper dbHelper = new DBHelper();                try                {                    //执行工具                    SqlCommand cmd = new SqlCommand(sql, dbHelper.Connction);                    //打开数据库                    dbHelper.OpenConnection();                    //执行                    int result =cmd.ExecuteNonQuery();                    //判断                    if(result>0)                    {                        MessageBox.Show("预订成功!订单编号是:" + orderId);                    }                    else                    {                        MessageBox.Show("预定失败,请重试!");                    }                }                catch(Exception ex)                {                    MessageBox.Show("发生错误,请联系管理员,错误原因是:"+ex.Message);                }                finally                {                    dbHelper.CloseConnection();                }            }        }        #endregion        #region 鼠标移动        Point mouseOff;//鼠标移动位置变量        bool leftFlag;//标签是否为左键        private void 机票预订_MouseDown(object sender, MouseEventArgs e)        {            if (e.Button == MouseButtons.Left)            {                mouseOff = new Point(-e.X, -e.Y); //得到变量的值                leftFlag = true;                  //点击左键按下时标注为true;            }        }        private void 机票预订_MouseMove(object sender, MouseEventArgs e)        {            if (leftFlag)            {                Point mouseSet = Control.MousePosition;                mouseSet.Offset(mouseOff.X, mouseOff.Y);  //设置移动后的位置                Location = mouseSet;            }        }        private void 机票预订_MouseUp(object sender, MouseEventArgs e)        {            if (leftFlag)            {                leftFlag = false;//释放鼠标后标注为false;            }        }        #endregion    }}

订单查询界面

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 MyTickets{    public partial class 订单查询 : Form    {        public 订单查询(string text)        {            InitializeComponent();            usename.Text = text.ToString();        }        #region 鼠标移动        Point mouseOff;//鼠标移动位置变量        bool leftFlag;//标签是否为左键        private void 订单查询_MouseDown(object sender, MouseEventArgs e)        {            if (e.Button == MouseButtons.Left)            {                mouseOff = new Point(-e.X, -e.Y); //得到变量的值                leftFlag = true;                  //点击左键按下时标注为true;            }        }        private void 订单查询_MouseMove(object sender, MouseEventArgs e)        {            if (leftFlag)            {                Point mouseSet = Control.MousePosition;                mouseSet.Offset(mouseOff.X, mouseOff.Y);  //设置移动后的位置                Location = mouseSet;            }        }        private void 订单查询_MouseUp(object sender, MouseEventArgs e)        {            if (leftFlag)            {                leftFlag = false;//释放鼠标后标注为false;            }        }        #endregion        private void 订单查询_Load(object sender, EventArgs e)        {            DBHelper dbHelper = new DBHelper();            string sql = string.Format(@"select orderId,flightNo,leaveDate,landTime,leavePlace,landPlace from orderInfo where useId ='{0}'",usename);            SqlDataAdapter adapter = new SqlDataAdapter(sql, dbHelper.Connction);            DataSet ds = new DataSet();            adapter.Fill(ds, "orderInfo");            this.dataGridView1.DataSource = ds.Tables["orderInfo"];        }        private void button1_Click(object sender, EventArgs e)        {            Application.Exit();        }    }}

登录界面

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.Threading;using System.Data.SqlClient;namespace MyTickets{    public partial class 初始界面 : Form    {        public 初始界面()        {            InitializeComponent();        }        int count = 0;        #region 鼠标移动        Point mouseOff;//鼠标移动位置变量        bool leftFlag;//标签是否为左键        private void 初始界面_MouseDown(object sender, MouseEventArgs e)        {            if (e.Button == MouseButtons.Left)            {                mouseOff = new Point(-e.X, -e.Y); //得到变量的值                leftFlag = true;                  //点击左键按下时标注为true;            }        }        private void 初始界面_MouseMove(object sender, MouseEventArgs e)        {            if (leftFlag)            {                Point mouseSet = Control.MousePosition;                mouseSet.Offset(mouseOff.X, mouseOff.Y);  //设置移动后的位置                Location = mouseSet;            }        }        private void 初始界面_MouseUp(object sender, MouseEventArgs e)        {            if (leftFlag)            {                leftFlag = false;//释放鼠标后标注为false;            }        }        #endregion        #region 打开其他窗口        private void 查询订单btn_Click(object sender, EventArgs e)        {            string userid = this.用户名TEXT.Text;            string psword = this.passwordtxt.Text;            if (userid.Equals("") || psword.Equals(""))//用户名或密码为空            {                MessageBox.Show("用户名或密码不能为空");            }            else            {                string sql = string.Format(@"select useId,psword from LoginIn where useId = '{0}' and psWord = '{1}'", userid, psword);                DBHelper dbHelper = new DBHelper();                SqlCommand cmd = new SqlCommand(sql, dbHelper.Connction);                dbHelper.OpenConnection();                SqlDataReader sdr = cmd.ExecuteReader();                if (sdr.Read())                {                    MessageBox.Show("信息验证成功");                    //跳转到主页面                    订单查询 fd = new 订单查询(用户名TEXT.Text);                    fd.ShowDialog();                    this.Hide();                }                else                {                    MessageBox.Show("用户名或密码错误");                }            }        }        #endregion        #region 轮播        private void ChangeImage(Image img, int millisecondsTimeOut)        {            if (this.IsHandleCreated)            {                this.Invoke(new Action(() =>                {                    轮播1.Image = img;                })                );            }            Thread.Sleep(millisecondsTimeOut);        }        private void 初始界面_Load(object sender, EventArgs e)        {            Thread th;            th = new Thread                (                    delegate ()                    {                        // 3就是要循环轮数了                        for (int i = 0; i < 100; i++)                        {                            //调用方法                            ChangeImage(Properties.Resources.东方航空, 2000);                            count++;                            ChangeImage(Properties.Resources.南方航空, 2000);                            count++;                            ChangeImage(Properties.Resources.四川航空, 2000);                            count++;                            ChangeImage(Properties.Resources.海南航空, 2000);                            count++;                        }                    }                );            th.IsBackground = true;            th.Start();        }        //关闭        private void label1_Click(object sender, EventArgs e)        {            Application.Exit();        }        //轮播        private void pictureBox1_Click(object sender, EventArgs e)        {            if (count % 4 == 0)            {                System.Diagnostics.Process.Start("http://www.ceair.com/");            }            if (count % 4 == 3)            {                System.Diagnostics.Process.Start("https://www.hnair.com/");            }            if (count % 4 == 1)            {                System.Diagnostics.Process.Start("https://www.csair.com/");            }            if (count % 4 == 2)            {                System.Diagnostics.Process.Start("http://www.sichuanair.com/");            }        }        #endregion        #region 绑定登录        private void 登录btn_Click(object sender, EventArgs e)        {            string userid = this.用户名TEXT.Text;            string psword = this.passwordtxt.Text;            if (userid.Equals("") || psword.Equals(""))//用户名或密码为空            {                MessageBox.Show("用户名或密码不能为空");            }            else            {                string sql = string.Format(@"select useId,psword from LoginIn where useId = '{0}' and psWord = '{1}'",userid, psword);                DBHelper dbHelper = new DBHelper();                SqlCommand cmd = new SqlCommand(sql, dbHelper.Connction);                dbHelper.OpenConnection();                SqlDataReader sdr = cmd.ExecuteReader();                if (sdr.Read())                {                    MessageBox.Show("信息验证成功");                    //跳转到主页面                    机票预订 f2 = new 机票预订(用户名TEXT.Text);                    this.Hide();                    f2.ShowDialog();                }                else                {                    MessageBox.Show("用户名或密码错误");                }            }                    }           #endregion                #region 绑定注册        private void 注册btn_Click(object sender, EventArgs e)        {            string userid = this.用户名TEXT.Text;            string psword = this.passwordtxt.Text;            string sql = string.Format(@"insert into LoginIn(useId,psWord)                                            values('{0}','{1}')", userid, psword);            DBHelper dbHelper = new DBHelper();            try            {                //执行工具                SqlCommand cmd = new SqlCommand(sql, dbHelper.Connction);                //打开数据库                dbHelper.OpenConnection();                //执行                int result = cmd.ExecuteNonQuery();                //判断                if (result > 0)                {                    MessageBox.Show("注册成功,请登录!");                }                else                {                    MessageBox.Show("注册失败,请重试!");                }            }            catch (Exception ex)            {                MessageBox.Show("发生错误,请联系管理员,错误原因是:" + ex.Message);            }        }        #endregion    }}

下面是一些效果图

C#如何实现航班预订系统

C#如何实现航班预订系统

C#如何实现航班预订系统

C#如何实现航班预订系统

“C#如何实现航班预订系统”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯