C#實(shí)現(xiàn)航班查詢及預(yù)訂功能
具體代碼如下所示:
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.創(chuàng)建DataSet對(duì)象
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 出發(fā)地
/// <summary>
/// 出發(fā)地
/// </summary>
public void AirwaysInfo()
{
try
{
//2.創(chuàng)建Connection對(duì)象
SqlConnection conn = new SqlConnection(connString);
//4.創(chuàng)建DataAdapter對(duì)象
StringBuilder _sb = new StringBuilder();
_sb.AppendLine(@"SELECT Id,CityName FROM CityInfo");
SqlDataAdapter adapter = new SqlDataAdapter(_sb.ToString(), conn);
//5.填充數(shù)據(jù)集
adapter.Fill(set, "CityUser");
//6.綁定數(shù)據(jù)源到ComboBox控件中
this.cboAirways.DataSource = set.Tables["CityUser"];
this.cboAirways.ValueMember = "Id";
this.cboAirways.DisplayMember = "CityName";
//7.添加行對(duì)象
DataRow row = set.Tables["CityUser"].NewRow();
row["Id"] = -1;
row["CityName"] = "請(qǐng)選擇";
set.Tables["CityUser"].Rows.InsertAt(row, 0);
//8.默認(rèn)選中一行
this.cboAirways.SelectedIndex = 0;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
#endregion
#region 非空驗(yàn)證
/// <summary>
/// 非空驗(yàn)證
/// </summary>
public void Check()
{
if(this.cboAirways.SelectedIndex == 0)
{
MessageBox.Show("請(qǐng)輸入你要出發(fā)的城市啊??!","操作提示",MessageBoxButtons.OKCancel,MessageBoxIcon.Question);
}
else if (this.cboMudidi.SelectedIndex == 0)
{
MessageBox.Show("請(qǐng)輸入你的目的地啊啊?。?!", "操作提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
}
}
#endregion
#region 目的地
/// <summary>
/// 目的地
/// </summary>
public void CityInfo()
{
try
{
//2.創(chuàng)建Connection對(duì)象
SqlConnection conn = new SqlConnection(connString);
//4.創(chuàng)建DataAdapter對(duì)象
StringBuilder _sb = new StringBuilder();
_sb.AppendLine(@"SELECT Id,CityName FROM CityInfo");
SqlDataAdapter adapter = new SqlDataAdapter(_sb.ToString(), conn);
//5.填充數(shù)據(jù)集
adapter.Fill(set, "City");
//6.綁定數(shù)據(jù)源到ComboBox控件中
this.cboMudidi.DataSource = set.Tables["City"];
this.cboMudidi.ValueMember = "Id";
this.cboMudidi.DisplayMember = "CityName";
//7.添加行對(duì)象
DataRow row = set.Tables["City"].NewRow();
row["Id"] = -1;
row["CityName"] = "請(qǐng)選擇";
set.Tables["City"].Rows.InsertAt(row, 0);
//8.默認(rèn)選中一行
this.cboMudidi.SelectedIndex = 0;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
#endregion
#region 航班信息
/// <summary>
/// 航班信息
/// </summary>
public void FlightInfo()
{
try
{
//2.創(chuàng)建Connection對(duì)象
SqlConnection conn = new SqlConnection(connString);
//4.創(chuàng)建DataAdapter對(duì)象
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.填充數(shù)據(jù)集
if (set.Tables["Airways"]!=null)
{
set.Tables["Airways"].Clear();
}
adapter.Fill(set, "Airways");
//6.綁定數(shù)據(jù)源
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 關(guān)閉按鈕功能
/// <summary>
/// 關(guān)閉按鈕功能
/// </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 實(shí)現(xiàn)航班選擇功能
/// <summary>
/// 實(shí)現(xiàn)航班選擇功能
/// </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 航班預(yù)定功能
/// <summary>
/// 航班預(yù)定功能
/// </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);
//構(gòu)建插入學(xué)生記錄的SQL的語(yǔ)句
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");
//創(chuàng)建Command對(duì)象
SqlCommand command = new SqlCommand(_sbu.ToString(), conn);
//打開(kāi)連接
conn.Open();
//調(diào)用方法
int result = command.ExecuteNonQuery();
//對(duì)返回值進(jìn)行處理
if (result > 0)
{
MessageBox.Show("恭喜你!預(yù)定成功!訂單編號(hào)為"+no);
return true;
}
else
{
MessageBox.Show("預(yù)定失?。≌?qǐng)重試!");
return false;
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return false;
}
finally
{
//關(guān)閉連接
conn.Close();
}
}
#endregion
#region 預(yù)定按鈕
/// <summary>
/// 預(yù)定按鈕!
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnYuDing_Click(object sender, EventArgs e)
{
Insert();
}
#endregion
}
}
總結(jié)
以上所述是小編給大家介紹的C#實(shí)現(xiàn)航班查詢及預(yù)訂功能,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)我們網(wǎng)站的支持!
上一篇:C#四舍五入用法實(shí)例
欄 目:C#教程
下一篇:C#實(shí)現(xiàn)字符串首字母大寫的方法示例
本文標(biāo)題:C#實(shí)現(xiàn)航班查詢及預(yù)訂功能
本文地址:http://www.jygsgssxh.com/a1/C_jiaocheng/5267.html
您可能感興趣的文章
- 01-10C#實(shí)現(xiàn)txt定位指定行完整實(shí)例
- 01-10WinForm實(shí)現(xiàn)仿視頻播放器左下角滾動(dòng)新聞效果的方法
- 01-10C#實(shí)現(xiàn)清空回收站的方法
- 01-10C#實(shí)現(xiàn)讀取注冊(cè)表監(jiān)控當(dāng)前操作系統(tǒng)已安裝軟件變化的方法
- 01-10C#實(shí)現(xiàn)多線程下載文件的方法
- 01-10C#實(shí)現(xiàn)Winform中打開(kāi)網(wǎng)頁(yè)頁(yè)面的方法
- 01-10C#實(shí)現(xiàn)遠(yuǎn)程關(guān)閉計(jì)算機(jī)或重啟計(jì)算機(jī)的方法
- 01-10C#自定義簽名章實(shí)現(xiàn)方法
- 01-10C#文件斷點(diǎn)續(xù)傳實(shí)現(xiàn)方法
- 01-10winform實(shí)現(xiàn)創(chuàng)建最前端窗體的方法


閱讀排行
- 1C語(yǔ)言 while語(yǔ)句的用法詳解
- 2java 實(shí)現(xiàn)簡(jiǎn)單圣誕樹(shù)的示例代碼(圣誕
- 3利用C語(yǔ)言實(shí)現(xiàn)“百馬百擔(dān)”問(wèn)題方法
- 4C語(yǔ)言中計(jì)算正弦的相關(guān)函數(shù)總結(jié)
- 5c語(yǔ)言計(jì)算三角形面積代碼
- 6什么是 WSH(腳本宿主)的詳細(xì)解釋
- 7C++ 中隨機(jī)函數(shù)random函數(shù)的使用方法
- 8正則表達(dá)式匹配各種特殊字符
- 9C語(yǔ)言十進(jìn)制轉(zhuǎn)二進(jìn)制代碼實(shí)例
- 10C語(yǔ)言查找數(shù)組里數(shù)字重復(fù)次數(shù)的方法
本欄相關(guān)
- 01-10C#通過(guò)反射獲取當(dāng)前工程中所有窗體并
- 01-10關(guān)于ASP網(wǎng)頁(yè)無(wú)法打開(kāi)的解決方案
- 01-10WinForm限制窗體不能移到屏幕外的方法
- 01-10WinForm繪制圓角的方法
- 01-10C#實(shí)現(xiàn)txt定位指定行完整實(shí)例
- 01-10WinForm實(shí)現(xiàn)仿視頻播放器左下角滾動(dòng)新
- 01-10C#停止線程的方法
- 01-10C#實(shí)現(xiàn)清空回收站的方法
- 01-10C#通過(guò)重寫Panel改變邊框顏色與寬度的
- 01-10C#實(shí)現(xiàn)讀取注冊(cè)表監(jiān)控當(dāng)前操作系統(tǒng)已
隨機(jī)閱讀
- 01-10C#中split用法實(shí)例總結(jié)
- 01-10delphi制作wav文件的方法
- 08-05DEDE織夢(mèng)data目錄下的sessions文件夾有什
- 01-10使用C語(yǔ)言求解撲克牌的順子及n個(gè)骰子
- 08-05織夢(mèng)dedecms什么時(shí)候用欄目交叉功能?
- 01-11Mac OSX 打開(kāi)原生自帶讀寫NTFS功能(圖文
- 08-05dedecms(織夢(mèng))副欄目數(shù)量限制代碼修改
- 04-02jquery與jsp,用jquery
- 01-10SublimeText編譯C開(kāi)發(fā)環(huán)境設(shè)置
- 01-11ajax實(shí)現(xiàn)頁(yè)面的局部加載


