您的位置:首页 > 编程语言

列车时刻查询系统(北大青鸟大二寒假作业) 源代码(三)

2008-01-23 21:45 253 查看
数据访问层----数据持久层


using System;


using System.Data;




namespace train




...{




/**//// <summary>


/// Schedule:负责与数据层的交互


/// </summary>


public class Schedule




...{


private DataBaseOperate db;


private DataTable table;


private DataTable tableresult;


private DataTable tabledetails;


public Schedule()




...{


db=new DataBaseOperate();


table=new DataTable();


}






/**//// <summary>


/// 根据起点站、终点站搜索列车信息


/// </summary>


/// <param name="fromcity">起点站</param>


/// <param name="tocity">终点站</param>


/// <returns>返回列车信息的表DataTable</returns>


public DataTable SearchScheduleList(string fromcity,string tocity)




...{


string sql="select 车次=code,起点站=fromcity,终点站=tocity,发车时间=LeaveTime,"+


"到达时间=ArriveTime,列车信息=trainType,时速=speed,距离=distance "+


"from T_train where fromcity='"+fromcity+"' and toCity='"+ tocity+"'";


table=db.search(sql);


tableresult=CalculatePrice(table);


return tableresult;


}




/**//// <summary>


/// 计算票价


/// </summary>


/// <param name="table">需要计算票价的DataTable</param>


/// <returns>返回已经计算票价的DataTable</returns>


public DataTable CalculatePrice(DataTable tables)




...{


double price;


tables.Columns.Add("价格",typeof(int));


for(int i=0;i<table.Rows.Count;i++)




...{




price=(double.Parse(tables.Rows[i]["距离"].ToString()))/100*10;


if((double.Parse(tables.Rows[i]["距离"].ToString()))%100!=0)




...{


price=price+10;


}


switch(tables.Rows[i]["列车信息"].ToString())




...{


case "特快":


price=price*2;


break;


case "空调":


price=price*2;


break;


case "快车":


price=price*1.2;


break;


default:


break;


}


tables.Rows[i]["价格"]=price;


}


return tables;


}








/**//// <summary>


/// 显示用用户选择的列车的详细信息


/// </summary>


/// <param name="code">列车的车次</param>


/// <returns>返回列车信息的表DataTable</returns>


public DataTable SearchMidScheduleList(string code)




...{


string sql="select 车次=code,经停站=cityname,发车时间=leavetime,里程=distance,天数=days from T_traindetails where code='"+code+"'";


tabledetails=db.search(sql);


return tabledetails;


}






/**//// <summary>


/// 根据终点站得到中间站的信息


/// </summary>


/// <param name="tocity">终点站的名字</param>


/// <returns>返回包含中间站信息的DataTable</returns>


public DataTable SearchMidList(string tocity)




...{


string sql="select distinct cityname from T_traindetails where cityname not like '%"+tocity+"%' and code in"+


"(select code from T_traindetails where cityname like '%"+tocity+"%')";


return db.search(sql);


}






/**//// <summary>


/// 根据选择的中间站返回起点站、中间站、终点站的详细信息


/// </summary>


/// <param name="fromcity">起点站</param>


/// <param name="midcity">中间站</param>


/// <param name="finalcity">终点站</param>


/// <returns>返回包含起点站、中间站、终点站的详细信息DataTable</returns>


public DataTable SearchMidStation(string fromcity,string midcity,string finalcity)




...{


string sql="select 车次=code,起点站=fromcity,终点站=tocity,发车时间=LeaveTime,"+


"到达时间=ArriveTime,列车信息=trainType,时速=speed,距离=distance "+


"from T_train where fromcity='"+fromcity+"' and toCity='"+ midcity+"'"+


" union "+


"select 车次=code,起点站=fromcity,终点站=tocity,发车时间=LeaveTime,"+


"到达时间=ArriveTime,列车信息=trainType,时速=speed,距离=distance "+


"from T_train where fromcity='"+midcity+"' and toCity='"+ finalcity+"'";


table=db.search(sql);


tableresult=CalculatePrice(table);


return tableresult;


}








/**//// <summary>


/// 根据列车的车次获得列车的详细信息


/// </summary>


/// <param name="code">列车的车次</param>


/// <returns>返回列车信息的表DataTable</returns>


public DataTable SearchScheduleByCode(string code)




...{


string sql="select 车次=code,起点站=fromcity,终点站=tocity,发车时间=LeaveTime,"+


"到达时间=ArriveTime,列车信息=trainType,时速=speed,距离=distance "+


"from T_train where code='"+code+"'";


table=db.search(sql);


tableresult=CalculatePrice(table);


return tableresult;


}


public DataTable GetTableResult()




...{


return this.tableresult;


}


public DataTable GetTableDetails()




...{


return this.tabledetails;


}


}


}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐