private void btn_Del_Click(object sender, EventArgs e) { if (listView_User.SelectedItems.Count > 0) { string DelUserName = listView_User.SelectedItems[0].SubItems[0].Text; if (DelUserName != Global.PresentUser) { if (MessageBox.Show("您确定要删除 " + DelUserName + " 这个用户吗?", "删除用户", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { DataRow[] rows = DB_Service.MainDataSet.Tables["UserTable"].Select("UserName = '******'"); if (rows.Length > 0) { rows[0].Delete(); if (DB_Service.UpdateDBFromTable(DB_Service.MainDataSet.Tables["UserTable"]) == 0) { MessageBox.Show("删除失败!", "删除用户", MessageBoxButtons.OK, MessageBoxIcon.Information); } } else { MessageBox.Show("您欲删除的用户不存在。", "删除用户", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } else { MessageBox.Show("对不起,您不能删除当前登录用户。您可以登录其他有用户管理权限的账户来进行删除。", "用户管理"); } listView_User.Items.Remove(listView_User.SelectedItems[0]); } else { MessageBox.Show("请先选择一个您欲删除的用户。", "用户管理"); } }
private void btn_DelClass_Click(object sender, EventArgs e) { if (DataGridViewClass.SelectedRows.Count > 0) { string DelClass = DataGridViewClass.SelectedRows[0].Cells["ClassName"].Value.ToString(); if (MessageBox.Show("您确定要删除:" + DelClass + " 这个班次吗?", "班次管理", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { DataRow[] rows = DB_Service.MainDataSet.Tables["ClassTable"].Select("ClassName = '" + DelClass + "'"); if (rows.Length > 0) { rows[0].Delete(); if (DB_Service.UpdateDBFromTable(DB_Service.MainDataSet.Tables["ClassTable"]) == 0) { MessageBox.Show("删除失败!", "班次管理", MessageBoxButtons.OK, MessageBoxIcon.Information); } } else { MessageBox.Show("您欲删除的班次不存在。", "班次管理", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } else { MessageBox.Show("请选择一个您欲删除的班次。", "班次管理"); } }
private void btn_MapDel_Click(object sender, EventArgs e) { if (listView_Layr.SelectedItems.Count > 0) { if (MessageBox.Show("您确定要删除 " + listView_Layr.SelectedItems[0].SubItems[1].Text + " 这个图层吗?", "删除地图图层", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { DataRow[] rows = DB_Service.MainDataSet.Tables["LayerTable"].Select("TableOrShapeFile = '" + listView_Layr.SelectedItems[0].SubItems[2].Text + "'"); if (rows.Length > 0) { rows[0].Delete(); MapLayerRow = null; if (DB_Service.UpdateDBFromTable(DB_Service.MainDataSet.Tables["LayerTable"]) > 0) { //刷新所有地图的显示 RefreshMapSet(); } else { MessageBox.Show("删除失败!", "地图图层管理", MessageBoxButtons.OK, MessageBoxIcon.Information); } } else { MessageBox.Show("您欲删除的图层不存在。", "地图图层管理", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } else { MessageBox.Show("请先选择一个欲删除的图层。", "删除地图图层", MessageBoxButtons.OK, MessageBoxIcon.Information); } }
private void btn_AddMapArea_Click(object sender, EventArgs e) { string NewMapAreaName = text_MapAreaName.Text.Trim(); if (NewMapAreaName != "") { DataTable tempMapAreaTable = DB_Service.GetTable("TempMapAreaTable", "select * from MapAreaTable"); if (DB_Service.MainDataSet.Tables["MapAreaTable"].Select("MapAreaName = '" + NewMapAreaName + "'").Length > 0) { MessageBox.Show("对不起,这个区域名称已经使用过,请换一个名称后再添加。", "添加区域", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { DataRow newRow = DB_Service.MainDataSet.Tables["MapAreaTable"].NewRow(); newRow["MapAreaName"] = NewMapAreaName; DB_Service.MainDataSet.Tables["MapAreaTable"].Rows.Add(newRow); if (DB_Service.UpdateDBFromTable(DB_Service.MainDataSet.Tables["MapAreaTable"]) > 0) { //刷新区域 RefreshMapArea(); } else { MessageBox.Show("添加失败!请检查数据库连接。", "添加区域", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } }
//private async Task<List<User>> GetUsersAsync() //{ // var dbService = new DB_Service<User>(); // var UserList = await dbService.GetAllUsersAsync(); // return UserList; //} protected async Task <string> AddMessageAsync(string toID, string fromID, string msg) { var dbService = new DB_Service <User>(); var UserList = await dbService.AddMessageTask(toID, fromID, msg); return(UserList); }
private void btn_Play_Click(object sender, EventArgs e) { if (listView_InMine.SelectedItems.Count < 1) { MessageBox.Show("请先在上面的列表中选中一个欲查询的员工", "历史轨迹", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } try { //停止并清空绘画 IsReDraw = false; timer1.Enabled = false; seekDrawTable = 0; HistoryDrawLinesTable = DataTableFactory_Service.MakeHistoryDrawLinesTable("HistoryDrawLinesTable"); this.DataGridView.DataSource = null; int Result_CardID = Convert.ToInt32(listView_InMine.SelectedItems[0].SubItems[1].Text); string Result_Name = listView_InMine.SelectedItems[0].SubItems[2].Text; string strSQL = "select * from HistoryPositionTable where CardID = " + Result_CardID + " and Time >= '" + this.StartTime + "' and Time <= '" + this.EndTime + "' order by Time ASC"; IsReDraw = false; using (DataTable tempTable = DB_Service.GetTable("tempTable", strSQL)) { if (tempTable.Rows.Count > 0) { for (int i = 0; i < tempTable.Rows.Count; i++) { //创建新的一行 DataRow newRow = HistoryDrawLinesTable.NewRow(); //赋值 newRow["CardID"] = Result_CardID; newRow["Name"] = Result_Name; newRow["Time"] = tempTable.Rows[i]["Time"]; newRow["NearStationID"] = tempTable.Rows[i]["MaxStationID"]; newRow["Geo_X"] = tempTable.Rows[i]["Geo_X"]; newRow["Geo_Y"] = tempTable.Rows[i]["Geo_Y"]; //将新行添加到PositionTable HistoryDrawLinesTable.Rows.Add(newRow); } this.DataGridView.DataSource = this.HistoryDrawLinesTable; //初始化详细定位表的表头 InitHistoryList(); //启动绘制计时器 IsReDraw = true; timer1.Enabled = true; } else { MessageBox.Show("此员工没有这个时间的活动轨迹。", "轨迹查询", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } catch (Exception ex) { MessageBox.Show(ex.Message, "历史轨迹", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }
public void Delete(List <T> entitys) { dbWrite = DBContextFactory.GetService(); foreach (var t in entitys) { dbWrite.Set <T>().Attach(t); dbWrite.Set <T>().Remove(t); } }
private void btn_SaveMap_Click(object sender, EventArgs e) { try { //保存地图全局参数 Global.MapName = textBox_MapName.Text; Global.MapComment = textBox_MapComment.Text; Global.MapDistanceKey = Convert.ToDouble(textBox_MapDistanceKey.Text); //以上仅仅是更新MapTable表,下面真正更新数据库 DB_Service.UpdateDBFromTable(DB_Service.MainDataSet.Tables["MapTable"]); //保存图层分类依据 if (listView_LayerSort.Items.Count > 0) { if (listView_LayerSort.Items.Count <= 17) { string SortKey; switch (com_LayerSort.SelectedIndex) { case 0: SortKey = "WorkType"; break; case 1: SortKey = "Department"; break; default: SortKey = "CardType"; break; } DB_Service.ExecuteSQL("delete from LayerSortTable where TableOrShapeFile = 'PositionTable'", "LayerSortTable"); List <string> TempSQL = new List <string>(); for (int i = 0; i < listView_LayerSort.Items.Count; i++) { TempSQL.Add("insert into LayerSortTable (TableOrShapeFile,ColumnName,MaybeValue,Text,ViewOrder,PicID,PointImage) values ('PositionTable','" + SortKey + "','" + listView_LayerSort.Items[i].SubItems[0].Text + "','" + listView_LayerSort.Items[i].SubItems[1].Text + "'," + i.ToString() + ",'Person_" + Convert.ToString(i + 1) + "','Person_" + Convert.ToString(i + 1) + "')"); } DB_Service.ExecuteSQLs(TempSQL, new string[1] { "LayerSortTable" }); MessageBox.Show("设置成功!重启软件后生效。", "设置人员车辆图层", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show("对不起,分类图层数超出系统最大限制:17。"); } } else { MessageBox.Show("对不起,按这个分类不会产生任何图层"); } } catch (Exception ex) { MessageBox.Show(ex.Message + "\n" + ex.TargetSite + "\n" + ex.StackTrace, "保存地图参数异常"); } }
private void btn_SaveWorkType_Click(object sender, EventArgs e) { if (tex_WorkTypeName.Text.Trim() == "" || tex_WorkTypeNeedWorkHour.Text.Trim() == "") { MessageBox.Show("请输入完整的职务信息后再进行保存。\n至少包含:职务名称和每天最少工作小时数", "职务设置", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { //如果是新建职务方案,则判断职务名称的唯一性并初始化WorkTypeRow if (WorkTypeRow == null) { if (DB_Service.MainDataSet.Tables["WorkTypeTable"].Select("WorkTypeName = '" + tex_WorkTypeName.Text.Trim() + "'").Length > 0) { MessageBox.Show("对不起,您所输入的这个职务名称已经存在,请重新输入一个未被占用的职务名称。", "新增职务", MessageBoxButtons.OK, MessageBoxIcon.Warning); tex_WorkTypeName.Text = ""; return; } else { //初始化WorkTypeRow WorkTypeRow = DB_Service.MainDataSet.Tables["WorkTypeTable"].NewRow(); DB_Service.MainDataSet.Tables["WorkTypeTable"].Rows.Add(WorkTypeRow); } } //修改WorkTypeRow的值 WorkTypeRow["WorkTypeName"] = tex_WorkTypeName.Text.Trim(); WorkTypeRow["WPName"] = com_WorkTypeWPName.Text.Trim(); WorkTypeRow["NeedWorkHour"] = tex_WorkTypeNeedWorkHour.Text.Trim(); if (radio_WorkTypeLead1.Checked) { WorkTypeRow["IsLead"] = true; } else { WorkTypeRow["IsLead"] = false; } if (radio_WorkTypeSpecal1.Checked) { WorkTypeRow["IsSpecal"] = true; } else { WorkTypeRow["IsSpecal"] = false; } panel_WorkType.Enabled = false; //将WPRow中的更新提交至数据库 if (DB_Service.UpdateDBFromTable(DB_Service.MainDataSet.Tables["WorkTypeTable"]) == 0) { MessageBox.Show("保存职务信息失败!\n请确保数据库连接正确。", "职务管理"); } } }
public void Delete(Expression <Func <T, bool> > whereLambda) { dbWrite = DBContextFactory.GetService(); var entitys = dbWrite.Set <T>().Where(whereLambda).ToList(); foreach (var t in entitys) { dbWrite.Set <T>().Attach(t); dbWrite.Set <T>().Remove(t); } }
public static DB_Service GetService() { string contextName = "DB_Service"; DB_Service dbContext = CallContext.GetData(contextName) as DB_Service; if (dbContext == null) { dbContext = new DB_Service(); } return(dbContext); }
private void RefreshInMineListView(string Str_Department) { text_DutyInfo.Text = ""; text_History.Text = ""; listView_InMine.Items.Clear(); string date = dateTimePicker1.Value.Date.Year.ToString() + "-" + dateTimePicker1.Value.Date.Month.ToString() + "-" + dateTimePicker1.Value.Date.Day.ToString(); this.StartTime = Convert.ToDateTime(date + " " + com_StartHour.SelectedIndex.ToString() + ":" + com_StartMinute.SelectedIndex.ToString() + ":00"); this.EndTime = Convert.ToDateTime(date + " " + com_EndHour.SelectedIndex.ToString() + ":" + com_EndMinute.SelectedIndex.ToString() + ":59"); //判断是否是跨天统计,如果是,则将结束时间自动加一天 if (this.EndTime < this.StartTime) { this.EndTime = this.EndTime.AddDays(1); } using (DataTable temp_HistoryTable = DB_Service.GetTable("temp_HistoryTable", "select DISTINCT CardID from HistoryPositionTable where Time >= '" + StartTime + "' and Time <= '" + EndTime + "'")) { using (DataTable temp_DutyTable = DB_Service.GetTable("temp_DutyTable", "select * from DutyTable where InTime >='" + StartTime.AddHours(-8).ToString() + "' and InTime <='" + EndTime.ToString() + "'")) { int TotalPeopleNum = 0; foreach (DataRow row in temp_HistoryTable.Rows) { try { int CardID = Convert.ToInt32(row["CardID"]); DataRow[] row_CardDuty = temp_DutyTable.Select("CardID = " + CardID); if (row_CardDuty.Length > 0) { if (row_CardDuty[0]["InTime"] != DBNull.Value) { TotalPeopleNum++; string PID = DB_Service.MainDataSet.Tables["CardTable"].Select("CardID = " + CardID)[0]["PID"].ToString(); DataRow PersonRow = DB_Service.MainDataSet.Tables["PersonTable"].Select("PID = '" + PID + "'")[0]; if (Str_Department == "所有部门" || Str_Department == PersonRow["Department"].ToString()) { string Name = PersonRow["Name"].ToString(); string WorkType = PersonRow["WorkType"].ToString(); string Department = PersonRow["Department"].ToString(); listView_InMine.Items.Add(new ListViewItem(new string[5] { PID, CardID.ToString(), Name, WorkType, Department })); } } } } catch { } } TimeSpan span = EndTime.Subtract(StartTime); label_InMine.Text = "在" + this.StartTime.ToString() + "至" + this.EndTime.ToString() + "共" + Convert.ToInt32(span.TotalMinutes).ToString() + "分钟的时间内,共有" + TotalPeopleNum.ToString() + "人在洞内停留过。"; } } }
private void btn_SaveWP_Click(object sender, EventArgs e) { if (tex_WPName.Text.Trim() == "" || tex_WPTimeMinute.Text.Trim() == "" || tex_WPPoint.Text.Trim() == "") { MessageBox.Show("请输入完整的工分信息后再进行保存。\n至少包含:方案名、工作时间、工分", "工分设置", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { //如果是新建工分方案,则判断工分名称的唯一性并初始化WPRow if (WPRow == null) { if (DB_Service.MainDataSet.Tables["WPTable"].Select("WPName = '" + tex_WPName.Text.Trim() + "'").Length > 0) { MessageBox.Show("对不起,您所输入的这个工分名称已经存在,请重新输入一个未被占用的工分名称。", "新增工分方案", MessageBoxButtons.OK, MessageBoxIcon.Warning); tex_WPName.Text = ""; return; } else { //初始化WPRow WPRow = DB_Service.MainDataSet.Tables["WPTable"].NewRow(); DB_Service.MainDataSet.Tables["WPTable"].Rows.Add(WPRow); } } try { //修改WPRow的值 WPRow["WPName"] = tex_WPName.Text.Trim(); WPRow["WPTimeMinute"] = Convert.ToInt32(tex_WPTimeMinute.Text.Trim()); WPRow["Point"] = Convert.ToInt32(tex_WPPoint.Text.Trim()); } catch (Exception ex) { MessageBox.Show(ex.Message, "工分管理", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } panel_WP.Enabled = false; //将WPRow中的更新提交至数据库 if (DB_Service.UpdateDBFromTable(DB_Service.MainDataSet.Tables["WPTable"]) > 0) { //刷新职务显示中的工分方案列表 RefreshWPSelectCombox(); } else { MessageBox.Show("保存工分方案信息失败!\n请确保数据库连接正确。", "工分管理"); } } }
public FrmCreateTestData() { InitializeComponent(); CollectStationTable = DB_Service.GetTable("CollectStationTable", "select * from StationTable where StationFunction = '信息采集'"); for (int i = 0; i < CollectStationTable.Rows.Count; i++) { com_CollectStationID.Items.Add(CollectStationTable.Rows[i]["ID"]); } com_CollectLoopTime.SelectedIndex = 0; }
private void btn_SaveDepartment_Click(object sender, EventArgs e) { if (tex_DepartmentName.Text.Trim() == "") { MessageBox.Show("请输入完整的部门信息后再进行保存。\n至少包含:部门名称", "部门设置", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { //如果是新建部门方案,则判断部门名称的唯一性并初始化DepartmentRow if (DepartmentRow == null) { if (DB_Service.MainDataSet.Tables["DepartmentTable"].Select("DepartmentName = '" + tex_DepartmentName.Text.Trim() + "'").Length > 0) { MessageBox.Show("对不起,您所输入的这个部门名称已经存在,请重新输入一个未被占用的部门名称。", "新增部门", MessageBoxButtons.OK, MessageBoxIcon.Warning); tex_DepartmentName.Text = ""; return; } else { //初始化DepartmentRow DepartmentRow = DB_Service.MainDataSet.Tables["DepartmentTable"].NewRow(); DB_Service.MainDataSet.Tables["DepartmentTable"].Rows.Add(DepartmentRow); } } try { //修改DepartmentRow的值 DepartmentRow["DepartmentName"] = tex_DepartmentName.Text.Trim(); if (tex_DepartmentChief.Text.Trim() != "") { DepartmentRow["ChiefPID"] = tex_DepartmentChief.Text.Trim(); } DepartmentRow["Address"] = tex_DepartmentAddress.Text.Trim(); DepartmentRow["Tel"] = tex_DepartmentTel.Text.Trim(); } catch (Exception ex) { MessageBox.Show(ex.Message, "部门管理", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } panel_Department.Enabled = false; //将WPRow中的更新提交至数据库 if (DB_Service.UpdateDBFromTable(DB_Service.MainDataSet.Tables["DepartmentTable"]) == 0) { MessageBox.Show("保存部门信息失败!\n请确保数据库连接正确。", "部门管理"); } } }
private void listView_InMine_Click(object sender, EventArgs e) { if (listView_InMine.SelectedItems.Count > 0) { int CardID = Convert.ToInt32(listView_InMine.SelectedItems[0].SubItems[1].Text); string Name = listView_InMine.SelectedItems[0].SubItems[2].Text; //准备显示文字轨迹信息 text_History.Text = " 详细历史轨迹说明\r\n"; text_History.AppendText("员工:" + Name + " 工号:" + listView_InMine.SelectedItems[0].SubItems[0].Text + "\r\n"); text_History.AppendText("起始时间:" + this.StartTime.ToString() + "\r\n"); text_History.AppendText("终止时间:" + this.EndTime.ToString() + "\r\n"); text_History.AppendText(" \r\n"); using (DataTable tempTable1 = DB_Service.GetTable("tempTable", "select * from HistoryPositionTable where CardID = " + CardID + " and Time >= '" + this.StartTime + "' and Time <= '" + this.EndTime + "' order by ID ASC")) { int MaxStationID = -1; for (int i = 0; i < tempTable1.Rows.Count; i++) { if (MaxStationID != Convert.ToInt32(tempTable1.Rows[i]["MaxStationID"])) { MaxStationID = Convert.ToInt32(tempTable1.Rows[i]["MaxStationID"]); text_History.AppendText(Convert.ToString(text_History.Lines.Length - 5) + ". 进入【" + MaxStationID.ToString() + "】号基站,于" + Convert.ToDateTime(tempTable1.Rows[i]["Time"]).TimeOfDay.ToString() + "\r\n"); } } } //显示考勤信息 text_DutyInfo.Text = " 考勤概要\n"; text_DutyInfo.AppendText(" \n"); DataTable tempTable = DB_Service.GetTable("tempTable", "select * from DutyTable where CardID = " + CardID + " and InTime >='" + StartTime.ToString() + "' and InTime <='" + EndTime.ToString() + "'"); if (tempTable.Rows.Count > 0) { for (int i = 0; i < tempTable.Rows.Count; i++) { string InTimeStr = "空"; string OutTimeStr = "空"; if (tempTable.Rows[i]["InTime"] != DBNull.Value) { InTimeStr = Convert.ToDateTime(tempTable.Rows[i]["InTime"]).TimeOfDay.ToString(); } if (tempTable.Rows[i]["OutTime"] != DBNull.Value) { OutTimeStr = Convert.ToDateTime(tempTable.Rows[i]["OutTime"]).TimeOfDay.ToString(); } text_DutyInfo.AppendText("-第" + Convert.ToString(i + 1) + "次-\r\n进入:" + InTimeStr + "\r\n离开:" + OutTimeStr + "\r\n\r\n"); } } else { text_DutyInfo.AppendText("对不起,在您选定的时间段内,这个人员没有考勤记录。"); } } }
private void btn_BindCard_Click(object sender, EventArgs e) { if (dataGridView_Card.SelectedRows.Count > 0 && dataGridView_Person.SelectedRows.Count > 0) { int BindCardID = Convert.ToInt32(dataGridView_Card.SelectedRows[0].Cells["CardID"].Value); string BindPID = dataGridView_Person.SelectedRows[0].Cells["PID"].Value.ToString(); if (MessageBox.Show("您确定要将编号为:" + BindCardID + " 的这个卡片与工号为:" + BindPID + " 的员工绑定在一起吗?", "绑定卡片", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { DataRow[] rows_Card = DB_Service.MainDataSet.Tables["CardTable"].Select("CardID = " + BindCardID); if (rows_Card.Length > 0) { DataRow[] rows_Person = DB_Service.MainDataSet.Tables["PersonTable"].Select("PID = '" + BindPID + "'"); if (rows_Person.Length > 0) { //判断BindCardID是否没有绑定任何卡,绑定则跳出 if (rows_Card[0]["PID"] != DBNull.Value) { MessageBox.Show("对不起,您欲绑定的卡片(编号:" + BindCardID + ")已经绑定了别的人员,所以,您不能重复绑定。\n您可以先删除这张卡片原有的绑定后重试。", "绑定卡片", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } //判断BindPID是否没有被任何卡绑定,绑定则跳出 DataRow[] tempRows = DB_Service.MainDataSet.Tables["CardTable"].Select("PID = '" + BindPID + "'"); if (tempRows.Length > 0) { MessageBox.Show("对不起,您欲绑定的人员(工号:" + BindPID + ")已经绑定了别的卡片,所以,您不能重复绑定。\n您可以先删除这个人员原有的绑定后重试。", "绑定卡片", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } //一对一性测试通过,修改记录并保存 rows_Card[0]["PID"] = BindPID; if (DB_Service.UpdateDBFromTable(DB_Service.MainDataSet.Tables["CardTable"]) == 0) { MessageBox.Show("绑定失败!", "绑定卡片", MessageBoxButtons.OK, MessageBoxIcon.Information); } } else { MessageBox.Show("您欲绑定的人员不存在。", "绑定卡片", MessageBoxButtons.OK, MessageBoxIcon.Information); } } else { MessageBox.Show("您欲绑定的卡片不存在。", "绑定卡片", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } else { MessageBox.Show("请先选择一个您要绑定的卡片和欲绑定的人员。", "绑定卡片", MessageBoxButtons.OK, MessageBoxIcon.Information); } }
private void com_MainMap_DropDownClosed(object sender, EventArgs e) { if (com_MainMap.Text != "") { if (MessageBox.Show("您是否确定将 <" + com_MainMap.Text + "> 设置为:免绘主地图?", "设置免绘主地图", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { //更新MapTable中的MainMap字段 if (DB_Service.MainDataSet.Tables["MapTable"].Rows.Count > 0) { DB_Service.MainDataSet.Tables["MapTable"].Rows[0]["MainMap"] = com_MainMap.Text.Trim(); DB_Service.UpdateDBFromTable(DB_Service.MainDataSet.Tables["MapTable"]); } } //刷新Com_MainMap的Index RefreshComMainMapIndex(); } }
private const int TrySaveCount = 2; //服务端重试2次 /// <summary> /// 提交保存更改 /// </summary> /// <returns></returns> public bool SaveChanges() { lock (LockSave) { int iSave = 1; //最后一次写入失败后抛出异常 int result = 0; #region 重复写,最后一次抛出异常 while (iSave < TrySaveCount) { try { result = dbWrite.SaveChanges(); //保存提交 return(result > 0); // } catch (Exception) //写入失败 { Console.WriteLine($"!!!!!!!!!!! 第【{iSave}】次写入数据库失败 !!!!!!!!!!!!"); iSave++; Thread.Sleep(100); //暂停100ms } } #endregion #region 最后一次写入,失败后抛出异常 try { result = dbWrite.SaveChanges(); //保存提交 return(result > 0); // } catch (Exception ex) //写入失败 { Console.WriteLine($"!!!!!!!!!!! 多次写入数据库失败,共尝试【{TrySaveCount}】次,请检查 !!!!!!!!!!!!"); dbWrite = DBContextFactory.GetService(); //保存失败,重新获取一个EF缓存 throw new Exception( $"写入数据库失败,\r\n错误为:Message:{ex.Message}\r\nStackTrace:{ex.StackTrace}\r\nInnerException:{ex.InnerException?.Message}"); } #endregion } }
public static IEnumerable <DrawNumber> GetALLDrawNumbers(DB_Service DBconnect) { string _Query = "SELECT * FROM DrawResult"; DBconnect.Query = _Query; foreach (DataRow row in DBconnect.OutTable.Rows) { DrawNumber DrawResult; try { DrawResult = new DrawNumber(Convert.ToInt16(row["ID"].ToString()), Convert.ToDateTime(row["DrawDate"].ToString()), Convert.ToByte(row["Num1"].ToString()), Convert.ToByte(row["Num2"].ToString()), Convert.ToByte(row["Num3"].ToString()), Convert.ToByte(row["Num4"].ToString()), Convert.ToByte(row["Num5"].ToString()), Convert.ToByte(row["EURnum1"].ToString()), Convert.ToByte(row["EURnum2"].ToString())); } catch { DrawResult = new DrawNumber(Convert.ToInt16(row["ID"].ToString()), Convert.ToDateTime(row["DrawDate"].ToString())); } yield return(DrawResult); } }
private void btn_DelCard_Click(object sender, EventArgs e) { if (dataGridView_Card.SelectedRows.Count > 0) { int DelCardID = Convert.ToInt32(dataGridView_Card.SelectedRows[0].Cells["CardID"].Value); if (MessageBox.Show("您确定要删除编号为:" + DelCardID + " 的这个卡片吗?\n\n删除卡片会自动删除这张卡片的考勤、报警、定位等相关记录。", "删除卡片", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { DataRow[] rows = DB_Service.MainDataSet.Tables["CardTable"].Select("CardID = " + DelCardID); if (rows.Length > 0) { rows[0].Delete(); if (DB_Service.UpdateDBFromTable(DB_Service.MainDataSet.Tables["CardTable"]) > 0) { //级联删除SQL语句数组 List <string> strSQLs = new List <string>(); //删除考勤记录 strSQLs.Add("delete from DutyTable where CardID = " + DelCardID); //删除定位记录 strSQLs.Add("delete from HistoryPositionTable where CardID = " + DelCardID); //删除报警记录 strSQLs.Add("delete from AlarmPersonSendTable where CardID = " + DelCardID); //因为有可能没有任何报警、考勤、定位记录。故不检测返回 DB_Service.ExecuteSQLs(strSQLs, new string[3] { "DutyTable", "HistoryPositionTable", "AlarmPersonSendTable" }); label_AllCard.Text = "共有卡片 " + DB_Service.MainDataSet.Tables["CardTable"].Rows.Count.ToString() + " 张。其中有 " + DB_Service.MainDataSet.Tables["CardTable"].Select("PID is null").Length.ToString() + " 张尚未与员工绑定。"; } else { MessageBox.Show("删除失败!", "删除卡片", MessageBoxButtons.OK, MessageBoxIcon.Information); } } else { MessageBox.Show("您欲删除的卡片不存在。", "删除卡片", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } else { MessageBox.Show("请先选择一个您要删除的卡片。", "删除卡片", MessageBoxButtons.OK, MessageBoxIcon.Information); } }
private void btn_DelWP_Click(object sender, EventArgs e) { if (DataGridViewWP.SelectedRows.Count > 0) { string DelWP = DataGridViewWP.SelectedRows[0].Cells["WPName"].Value.ToString(); if (MessageBox.Show("您确定要删除:" + DelWP + " 这个方案吗?", "工分管理", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { DataRow[] rows = DB_Service.MainDataSet.Tables["WPTable"].Select("WPName = '" + DelWP + "'"); if (rows.Length > 0) { rows[0].Delete(); if (DB_Service.UpdateDBFromTable(DB_Service.MainDataSet.Tables["WPTable"]) > 0) { //级联删除WorkTypeTable中的相应字段 DataRow[] DeepRows = DB_Service.MainDataSet.Tables["WorkTypeTable"].Select("WPName = '" + DelWP + "'"); if (DeepRows.Length > 0) { for (int i = 0; i < DeepRows.Length; i++) { DeepRows[i]["WPName"] = DBNull.Value; } DB_Service.UpdateDBFromTable(DB_Service.MainDataSet.Tables["WorkTypeTable"]); } DeepRows = null; //刷新职务显示中的工分方案列表 RefreshWPSelectCombox(); } else { MessageBox.Show("删除失败!", "工分管理", MessageBoxButtons.OK, MessageBoxIcon.Information); } } else { MessageBox.Show("您欲删除的工分方案不存在。", "工分管理", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } else { MessageBox.Show("请选择一个您欲删除的工分方案。", "工分管理"); } }
private void btn_CleanHistoryCollect_Click(object sender, EventArgs e) { if (DialogResult.Yes == MessageBox.Show("注意!您正要清空历史采集信息表。您确定要这样做吗?", "清空指定表数据", MessageBoxButtons.YesNo, MessageBoxIcon.Warning)) { List <string> strSQLs = new List <string>(); strSQLs.Add("select * into HistoryCollectTable_Temp from HistoryCollectTable where 1=2"); strSQLs.Add("Drop Table HistoryCollectTable"); strSQLs.Add("EXEC sp_rename 'HistoryCollectTable_Temp', 'HistoryCollectTable'"); strSQLs.Add("Alter Table HistoryCollectTable Add Constraint HistoryCollectTable_ID Primary Key(ID)"); try { DB_Service.ExecuteSQLs(strSQLs); MessageBox.Show(" 清空数据表成功! ", "清空指定表数据", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception ex) { MessageBox.Show(ex.Message, "清空指定表数据"); } } }
private void btn_DelDepartment_Click(object sender, EventArgs e) { if (DataGridViewDepartment.SelectedRows.Count > 0) { string DelDepartment = DataGridViewDepartment.SelectedRows[0].Cells["DepartmentName"].Value.ToString(); if (MessageBox.Show("您确定要删除:" + DelDepartment + " 这个部门吗?", "部门管理", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { DataRow[] rows = DB_Service.MainDataSet.Tables["DepartmentTable"].Select("DepartmentName = '" + DelDepartment + "'"); if (rows.Length > 0) { rows[0].Delete(); if (DB_Service.UpdateDBFromTable(DB_Service.MainDataSet.Tables["DepartmentTable"]) > 0) { //级联删除PersonTable中的相应字段 DataRow[] DeepRows = DB_Service.MainDataSet.Tables["PersonTable"].Select("Department = '" + DelDepartment + "'"); if (DeepRows.Length > 0) { for (int i = 0; i < DeepRows.Length; i++) { DeepRows[i]["Department"] = DBNull.Value; } DB_Service.UpdateDBFromTable(DB_Service.MainDataSet.Tables["PersonTable"]); } DeepRows = null; } else { MessageBox.Show("删除失败!", "部门管理", MessageBoxButtons.OK, MessageBoxIcon.Information); } } else { MessageBox.Show("您欲删除的部门不存在。", "部门管理", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } else { MessageBox.Show("请选择一个您欲删除的部门。", "部门管理"); } }
private void btn_CleanPerson_Click(object sender, EventArgs e) { if (DialogResult.Yes == MessageBox.Show("注意!您正要清空人员表。您确定要这样做吗?", "清空指定表数据", MessageBoxButtons.YesNo, MessageBoxIcon.Warning)) { List <string> strSQLs = new List <string>(); strSQLs.Add("select * into PersonTable_Temp from PersonTable where 1=2"); strSQLs.Add("Drop Table PersonTable"); strSQLs.Add("EXEC sp_rename 'PersonTable_Temp', 'PersonTable'"); strSQLs.Add("Alter Table PersonTable Add Constraint PersonTable_PID Primary Key(PID)"); strSQLs.Add("update CardTable set PID = null"); try { DB_Service.ExecuteSQLs(strSQLs); MessageBox.Show(" 清空数据表成功! ", "清空指定表数据", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception ex) { MessageBox.Show(ex.Message, "清空指定表数据"); } } }
private void btn_CleanCollectChannel_Click(object sender, EventArgs e) { if (DialogResult.Yes == MessageBox.Show("注意!您正要清空采集器通道信息表。您确定要这样做吗?\n\n清空表同时将自动清空采集器基站里的通道信息。", "清空指定表数据", MessageBoxButtons.YesNo, MessageBoxIcon.Warning)) { List <string> strSQLs = new List <string>(); strSQLs.Add("select * into CollectChannelTable_Temp from CollectChannelTable where 1=2"); strSQLs.Add("Drop Table CollectChannelTable"); strSQLs.Add("EXEC sp_rename 'CollectChannelTable_Temp', 'CollectChannelTable'"); strSQLs.Add("Alter Table CollectChannelTable Add Constraint CollectChannelTable_Channel_ID Primary Key(Channel_ID)"); strSQLs.Add("update StationTable set CollectChannelIDStr = null"); try { DB_Service.ExecuteSQLs(strSQLs); MessageBox.Show(" 清空数据表成功! ", "清空指定表数据", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception ex) { MessageBox.Show(ex.Message, "清空指定表数据"); } } }
private void btn_CleanMapArea_Click(object sender, EventArgs e) { if (DialogResult.Yes == MessageBox.Show("注意!您正要清空区域表,同时也会将基站中的区域信息清空。您确定要这样做吗?", "清空指定表数据", MessageBoxButtons.YesNo, MessageBoxIcon.Warning)) { List <string> strSQLs = new List <string>(); strSQLs.Add("select * into MapAreaTable_Temp from MapAreaTable where 1=2"); strSQLs.Add("Drop Table MapAreaTable"); strSQLs.Add("EXEC sp_rename 'MapAreaTable_Temp', 'MapAreaTable'"); strSQLs.Add("Alter Table MapAreaTable Add Constraint MapAreaTable_MapAreaName Primary Key(MapAreaName)"); strSQLs.Add("update StationTable set Area = null"); try { DB_Service.ExecuteSQLs(strSQLs); MessageBox.Show(" 清空数据表成功! ", "清空指定表数据", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception ex) { MessageBox.Show(ex.Message, "清空指定表数据"); } } }
private bool CheckUserName(string UserName) { try { DB_Service.UpdateTableFromDB(DB_Service.MainDataSet.Tables["UserTable"]); DataRow[] rows = DB_Service.MainDataSet.Tables["UserTable"].Select("UserName = '******'"); if (rows.Length == 0) { return(true); } else { return(false); } } catch (Exception ex) { throw ex; } }
private void btn_SaveClass_Click(object sender, EventArgs e) { if (tex_ClassName.Text.Trim() == "" || com_StartHourClass.Text.Trim() == "" || com_StartMinuteClass.Text.Trim() == "" || com_EndHourClass.Text.Trim() == "" || com_EndMinuteClass.Text.Trim() == "") { MessageBox.Show("请输入完整的班次信息后再进行保存。\n至少包含:班次名、上班时间、下班时间", "班次设置", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { //如果是新建班次,则判断班次名称的唯一性并初始化ClassRow if (ClassRow == null) { if (DB_Service.MainDataSet.Tables["ClassTable"].Select("ClassName = '" + tex_ClassName.Text.Trim() + "'").Length > 0) { MessageBox.Show("对不起,您所输入的这个班次名称已经存在,请重新输入一个未被占用的班次名称。", "新增班次", MessageBoxButtons.OK, MessageBoxIcon.Warning); tex_ClassName.Text = ""; return; } else { //初始化ClassRow ClassRow = DB_Service.MainDataSet.Tables["ClassTable"].NewRow(); DB_Service.MainDataSet.Tables["ClassTable"].Rows.Add(ClassRow); } } //修改ClassRow的值 ClassRow["ClassName"] = tex_ClassName.Text.Trim(); ClassRow["StartTime"] = com_StartHourClass.Text.Split(' ')[0] + ":" + com_StartMinuteClass.Text.Split(' ')[0]; ClassRow["EndTime"] = com_EndHourClass.Text.Split(' ')[0] + ":" + com_EndMinuteClass.Text.Split(' ')[0]; panel_Class.Enabled = false; //将ClassRow中的更新提交至数据库 if (DB_Service.UpdateDBFromTable(DB_Service.MainDataSet.Tables["ClassTable"]) == 0) { MessageBox.Show("保存班次信息失败!\n请确保数据库连接正确。", "班次管理"); } } }
public static void UpdateDrawNumber(DrawNumber InputNumbers, DB_Service DBconnect) { string Table = "DrawResult"; string[] Column = new string[] { "Num1", "Num2", "Num3", "Num4", "Num5", "EURnum1", "EURnum2" }; string[] ValueParaName = Column; string[] ValueParaValue = new string[] { InputNumbers.Num1.ToString(), InputNumbers.Num2.ToString(), InputNumbers.Num3.ToString(), InputNumbers.Num4.ToString(), InputNumbers.Num5.ToString(), InputNumbers.EUNum1.ToString(), InputNumbers.EUNum2.ToString() }; string[] WhereRow = new string[] { "DrawDate" }; string[] WherePara = new string[] { "DrawDate" }; string[] WhereValue = new string[] { InputNumbers.DrawDate.ToString("yyyy-MM-dd") }; DBconnect.UpdateCommandWithoutkey(Table, Column, ValueParaName, ValueParaValue, WhereRow, WherePara, WhereValue); DBconnect.nonQueryCmd(); }