/// <summary> /// 根据顺位号查询某一节车厢[上一节,下一节] /// </summary> /// <param name="TrainID"></param> /// <param name="TrainComeDate"></param> /// <param name="OrderNum"></param> /// <returns></returns> public View_TrainDetail GetCar(string TrainID, DateTime TrainComeDate, int OrderNum) { try { using (sartas3 db = new sartas3()) { //首先根据时间找到指定的分表 string TableName = "traindetail"; if (TrainComeDate < DateTime.Now) { for (DateTime i = TrainComeDate; i < DateTime.Now; i = i.AddMonths(1)) { TableName = "traindetail_" + i.ToString("yyyyMM"); string SQL_BeSureTableExist = "SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='" + Config.DB_SCHEMA + "' AND TABLE_NAME = '" + TableName + "'"; string resName = db.Database.SqlQuery <string>(SQL_BeSureTableExist).FirstOrDefault(); if (!string.IsNullOrWhiteSpace(resName)) { break; } else { TableName = "traindetail"; } } } //根据分表名称进行查询 string SQL_Query = @"SELECT * FROM " + Config.DB_SCHEMA + "." + TableName + @" td WHERE td.Train_ID = '" + TrainID + "' AND td.TrainDetail_OrderNo='" + OrderNum + "'"; traindetail td = db.Database.SqlQuery <traindetail>(SQL_Query).SingleOrDefault(); if (td != null) { View_TrainDetail dtd = new View_TrainDetail(); dtd.Train_ID = td.Train_ID; dtd.TrainDetail_ID = td.TrainDetail_ID; dtd.TrainDetail_No = td.TrainDetail_No; dtd.TrainDetail_OrderNo = td.TrainDetail_OrderNo; dtd.vehicletype = td.vehicletype; dtd.AlarmLevel = td.AlarmLevel; string SQL_QueryTrain = @"SELECT * FROM " + Config.DB_SCHEMA + ".train t WHERE t.Train_ID = '" + TrainID + "';"; train t = db.Database.SqlQuery <train>(SQL_QueryTrain).SingleOrDefault(); if (t != null) { dtd.TrainComeDate = Convert.ToDateTime(t.Train_ComeDate); dtd.TrainNo = t.Train_No; dtd.LineID = Convert.ToInt16(t.Line_ID); } return(dtd); } else { return(null); } } } catch (Exception ex) { return(null); } }
/// <summary> /// 下一节车厢 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btn_Next_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { BLL_Car tdbll = new BLL_Car(); View_TrainDetail tmp = tdbll.GetCar(CurTrainDetail.Train_ID.ToString(), CurTrainDetail.TrainComeDate, Convert.ToInt16(CurTrainDetail.TrainDetail_OrderNo + 1)); if (tmp != null) { CurTrainDetail = tmp; Init_Load_TrainDetailInfo(); } else { XtraMessageBox.Show("没有下一节了"); } }