具体代码如下所示:
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");