好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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.Price

FROM 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.Price

FROM 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#实现航班查询及预订功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!

原文链接:http://HdhCmsTestcnblogs测试数据/wenlonghui/p/8452871.html

dy("nrwz");

查看更多关于C#实现航班查询及预订功能的详细内容...

  阅读:57次