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