private ObservableCollection<JuncMesage> GetData(int id) { var Datas = new ObservableCollection<JuncMesage>(); SelectCmd scmd = new SelectCmd(); JuncRev rev = new JuncRev(); rev.ID = id; scmd.SetReceiver(rev); scmd.Execute(); if (rev.ListJunc == null || rev.ListJunc.Count <= 0) return null; mJunc = rev.ListJunc.ElementAt(0); mJuncext = rev.ListJuncExt.ElementAt(0); Datas.Add(new JuncMesage { ItemName = "井盖名称", ValueName = mJunc.JuncName }); Datas.Add(new JuncMesage { ItemName = "道路名称", ValueName = mJuncext.Lane_Way }); Datas.Add(new JuncMesage { ItemName = "经度", ValueName = Convert.ToString(mJunc.X_Coor) }); Datas.Add(new JuncMesage { ItemName = "纬度", ValueName = Convert.ToString(mJunc.Y_Coor) }); Datas.Add(new JuncMesage { ItemName = "检查井类别", ValueName = GetCategoryName(mJunc.Junc_Category) }); Datas.Add(new JuncMesage { ItemName = "检查井类型", ValueName = GetType(mJunc.Junc_Type) }); Datas.Add(new JuncMesage { ItemName = "检查井形式", ValueName = GetStyle(mJunc.Junc_Style) }); Datas.Add(new JuncMesage { ItemName = "井深", ValueName = GetDepth(mJunc.Depth) }); Datas.Add(new JuncMesage { ItemName = "井盖所处的地面高程", ValueName = GetDepth(mJunc.Surface_Ele) }); Datas.Add(new JuncMesage { ItemName = "数据来源", ValueName = GetDataSource(mJunc.DataSource) }); Datas.Add(new JuncMesage { ItemName = "数据填报单位", ValueName = mJunc.ReportDept }); Datas.Add(new JuncMesage { ItemName = "数据填报时间", ValueName = Convert.ToString(mJunc.Record_Date) }); Datas.Add(new JuncMesage { ItemName = "管道是否暗接", ValueName = bool2str(mJunc.Junc_Darkjoint) }); Datas.Add(new JuncMesage { ItemName = "污水是否直排", ValueName = bool2str(mJunc.Sewage_Line) }); Datas.Add(new JuncMesage { ItemName = "井盖错误", ValueName = bool2str(mJunc.Junc_Error) }); Datas.Add(new JuncMesage { ItemName = "CCTV检测编号", ValueName = mJunc.CCTV_CheckCode }); Datas.Add(new JuncMesage { ItemName = "数据是否完整", ValueName = bool2str(mJunc.FullData) }); Datas.Add(new JuncMesage { ItemName = "数据缺失原因", ValueName = mJunc.LoseReson }); Datas.Add(new JuncMesage { ItemName = "A上游井口至管顶距离", ValueName = GetDepth(mJunc.Dis[0]) }); Datas.Add(new JuncMesage { ItemName = "A上游井口至管底距离", ValueName = GetDepth(mJunc.Dis[1]) }); Datas.Add(new JuncMesage { ItemName = "A下游井口至管顶距离", ValueName = GetDepth(mJunc.Dis[2]) }); Datas.Add(new JuncMesage { ItemName = "A下游井口至管底距离", ValueName = GetDepth(mJunc.Dis[3]) }); Datas.Add(new JuncMesage { ItemName = "B上游井口至管顶距离", ValueName = GetDepth(mJunc.Dis[4]) }); Datas.Add(new JuncMesage { ItemName = "B上游井口至管底距离", ValueName = GetDepth(mJunc.Dis[5]) }); Datas.Add(new JuncMesage { ItemName = "B下游井口至管顶距离", ValueName = GetDepth(mJunc.Dis[6]) }); Datas.Add(new JuncMesage { ItemName = "B下游井口至管底距离", ValueName = GetDepth(mJunc.Dis[7]) }); Datas.Add(new JuncMesage { ItemName = "备注", ValueName = mJuncext.Remark }); return Datas; }
/// <summary> /// 在表中插入juncExtIndfo,并返回插入的ID /// </summary> /// <param name="junc"></param> /// <returns></returns> public bool Insert_JuncExtInfo(ref CJuncExtInfo junc) { MySqlDataReader reader; string strcmd = "INSERT INTO JunExtInfo (JuncID,Anci_Fac,Lane_Way,Cov_Material,Cov_Shape,Cov_Dimen1,Cov_Dimen2,"+ "Cov_Dimen3,Chamber_Type,Chamber_Length,Chamber_Width,Chamber_Height,Survery_WaterDeep,Survery_SediDeep,Survery_Date,"+ "Bottom_Style,Junc_Class,Status,Remark) values("+junc.JuncID+",'"+junc.Anci_Fac+"','"+junc.Lane_Way+"', "+junc.Cov_Material +" , "+junc.Cov_Shape+" ,'"+junc.Cov_Dimen1+"','"+junc.Cov_Dimen2+"','"+junc.Cov_Dimen3+"','"+junc.Chamber_Type+"','"+junc.Chamber_Length + "','" + junc.Chamber_Width + "','" + junc.Chamber_Height + "','" + junc.Survery_WaterDeep+"','"+junc.Survery_SediDeep+ "','"+Convert.ToString(junc.Survery_Date)+"', "+junc.Bottom_Style+" , "+junc.Junc_Class+" , "+junc.Status+" ,'"+junc.Remark+"')"; try { connect.Open(); MySqlCommand cmd = new MySqlCommand(); cmd.Connection = connect; cmd.CommandType = CommandType.Text; cmd.CommandText = strcmd; //strcmd = "SELECT MAX(ID) AS MAXID FROM JunExtInfo"; cmd.ExecuteNonQuery(); cmd.CommandText = "SELECT MAX(ID) AS MAXID FROM JunExtInfo"; reader = cmd.ExecuteReader(); reader.Read(); junc.ID = Convert.ToInt32(reader[0].ToString()); } catch (System.Exception ex) { Console.WriteLine(ex.Message); return false; } finally { connect.Close(); } return true; }
private List<CJuncExtInfo> Select(string cmd) { List<CJuncExtInfo> listjunc = new List<CJuncExtInfo>(); MySqlCommand com; MySqlDataReader reader; try { connect.Open(); com = new MySqlCommand(cmd, connect); reader = com.ExecuteReader(); while (reader.Read()) { CJuncExtInfo junc = new CJuncExtInfo(); int i = 0; string tmp; junc.ID = Convert.ToInt32(reader[i++].ToString()); tmp = reader[i++].ToString(); if (tmp != null && tmp.Length > 0) junc.JuncID = Convert.ToInt32(tmp); junc.Anci_Fac = reader[i++].ToString(); junc.Lane_Way = reader[i++].ToString(); tmp = reader[i++].ToString(); if (tmp != null && tmp.Length > 0) junc.Cov_Material = Convert.ToInt32(tmp); tmp = reader[i++].ToString(); if (tmp != null && tmp.Length > 0) junc.Cov_Shape = Convert.ToInt32(tmp); tmp = reader[i++].ToString(); if (tmp != null && tmp.Length > 0) junc.Cov_Dimen1 = Convert.ToDouble(tmp); tmp = reader[i++].ToString(); if (tmp != null && tmp.Length > 0) junc.Cov_Dimen2 = Convert.ToDouble(tmp); tmp = reader[i++].ToString(); if (tmp != null && tmp.Length > 0) junc.Cov_Dimen3 = Convert.ToDouble(tmp); junc.Chamber_Type = reader[i++].ToString(); tmp = reader[i++].ToString(); if (tmp != null && tmp.Length > 0) junc.Chamber_Length = Convert.ToDouble(tmp); tmp = reader[i++].ToString(); if (tmp != null && tmp.Length > 0) junc.Chamber_Width = Convert.ToDouble(tmp); tmp = reader[i++].ToString(); if (tmp != null && tmp.Length > 0) junc.Chamber_Height = Convert.ToDouble(tmp); tmp = reader[i++].ToString(); if (tmp != null && tmp.Length > 0) junc.Survery_WaterDeep = Convert.ToDouble(tmp); tmp = reader[i++].ToString(); if (tmp != null && tmp.Length > 0) junc.Survery_SediDeep = Convert.ToDouble(tmp); tmp = reader[i++].ToString(); if (tmp != null && tmp.Length > 0) junc.Survery_Date = Convert.ToDateTime(tmp); tmp = reader[i++].ToString(); if (tmp != null && tmp.Length > 0) junc.Bottom_Style = Convert.ToInt32(tmp); tmp = reader[i++].ToString(); if (tmp != null && tmp.Length > 0) junc.Junc_Class = Convert.ToInt32(tmp); tmp = reader[i++].ToString(); if (tmp != null && tmp.Length > 0) junc.Status = Convert.ToInt32(tmp); junc.Remark = reader[i++].ToString(); listjunc.Add(junc); } } catch (System.Exception ex) { Console.WriteLine(ex.Message); return null; } finally { connect.Close(); } return listjunc; }
/// <summary> /// 删除指定juncExt info /// </summary> /// <param name="cmd"></param> /// <returns></returns> public bool Delete_JuncExtInfo(CJuncExtInfo junc) { List<string> listcmd = new List<string>(); try { string cmd = "DELETE FROM JunExtInfo where ID = " + junc.ID; listcmd.Add(cmd); ExectueCmd(listcmd); } catch (System.Exception ex) { Console.WriteLine(ex.Message); return false; } return true; }
/// <summary> /// 插入检查井信息,同时插入对应的检查井附加信息,若不存在附加信息 /// 则创建新的信息 /// </summary> /// <returns></returns> private bool DoInsert() { TJuncInfo juncinfo = new TJuncInfo(_dbpath, PassWord); TJuncExtInfo juncextinfo = new TJuncExtInfo(_dbpath, PassWord); if (ListJunc == null) return false; int i =0; foreach (CJuncInfo junc in ListJunc) { CJuncInfo tmp = junc; if (!juncinfo.Insert_JuncInfo(ref tmp)) continue; CJuncExtInfo extmp = null; if (ListJuncExt == null || ListJuncExt.Count == 0) { extmp = new CJuncExtInfo(); } else { if (i < ListJuncExt.Count) extmp = ListJuncExt.ElementAt(i); else extmp = new CJuncExtInfo(); } extmp.JuncID = tmp.ID; juncextinfo.Insert_JuncExtInfo(ref extmp); i++; } if (i <= 0) return false; return true; }
//返回插入junction的id protected int InsterDB(Cover c) { if (c == null) return 0; //change the coordinate Mercator to WGS84 Coords.Point p = new Coords.Point(); p.x = c.Location.X; p.y = c.Location.Y; p = Coords.Mercator2WGS84(p); //store to CJuncInfo info = new CJuncInfo(); info.X_Coor = p.x + Constants.COOR_X_OFFSET; info.Y_Coor = p.y + Constants.COOR_Y_OFFSET; info.Junc_Category = c.juncInfo.Junc_Category; //数据库操作 TJuncInfo juncinfo = new TJuncInfo(App._dbpath, App.PassWord); TJuncExtInfo juncextinfo = new TJuncExtInfo(App._dbpath, App.PassWord); if (!juncinfo.Insert_JuncInfo(ref info)) { return 0; } CJuncExtInfo extinfo = new CJuncExtInfo(); extinfo.JuncID = info.ID; juncextinfo.Insert_JuncExtInfo(ref extinfo); return info.ID; }
private bool SaverTodb(List<JuncSheetData> list) { if (list == null || list.Count <= 0) return false; QuickInsert qicm = new QuickInsert(); JuncRev rev = new JuncRev(); rev.ListJunc = new List<CJuncInfo>(); rev.ListJuncExt = new List<CJuncExtInfo>(); foreach (JuncSheetData data in list) { CJuncInfo info = new CJuncInfo(); CJuncExtInfo extinfo = new CJuncExtInfo(); extinfo.Lane_Way = data.RoadName; info.JuncName = data.JuncName; info.Junc_Category = GetCategory(data.JuncCategory); info.Junc_Type = GetType(data.JuncType); info.Y_Coor = data.Latitude; info.X_Coor = data.Longitude; info.Surface_Ele = data.Height; info.Junc_Style = GetStyle(data.JuncStyle); info.Depth = data.Depth; info.Junc_Darkjoint = data.JuncDarkjoint; info.Sewage_Line = data.SewageLine; info.Junc_Error = data.JuncError; info.CCTV_CheckCode = data.CCTV_CheckCode; info.DataSource = GetDataSource(data.DataSource); info.Record_Date = data.DataTime; info.ReportDept = data.RecordDept; info.ReportDate = data.RecordTime; for (int i = 0; i < 8;i++ ) { info.Dis[i] = data.Dis[i]; } info.FullData = data.DataFull; info.LoseReson = data.LoseReson; extinfo.Remark = data.Remark; rev.ListJunc.Add(info); rev.ListJuncExt.Add(extinfo); } qicm.SetReceiver(rev); qicm.Execute(); return true; }