//导出数据到Excel protected void lBtnToExcel_Click(object sender, EventArgs e) { //获取数据并填充到数据表 using (var da = new t_use_electricTableAdapter()) { //查询条件 string whereContent = GetWhereContent(); //排序条件 string orderByContent = GetOrderByContent(); if (orderByContent.Length == 0) { orderByContent = "order by [id] desc"; } //获取前1万行数据 var tab = da.GetPagedData(0, 10000, whereContent, orderByContent); //设置列标题 string[] titleCol = (@"序号,日期,冲压用电,冲压出数,冲压用电/出数, 数控用电,数控出数,数控用电/出数, 手动线用电,手动线出数,手动线用电/出数, 自动线用电,自动线出数,自动线用电/出数, 双面用电,双面出数,双面用电/出数, 全厂用电,全厂出数,全厂用电/出数, 备注,录入员,录入时间,修改时间").Split(','); //设置表名称 string titleTab = "用电记录"; //临时文件名称 string fileName = titleTab + DateTime.Now.ToString("yyMMddHHmmss") + ".xls"; //执行导出数据到excel bool isSuccess = ydPublicMethod.DataTable2Excel(tab, titleCol, ref fileName, titleTab); //如果成功则跳转到指定页面 if (isSuccess) { Response.Redirect(fileName); //停止加载后续内容 Response.End(); } } }
/// <summary> /// 执行删除数据并处理相关数据一致性 /// </summary> /// <param name="e">传入的带有数据的事件参数</param> /// <returns></returns> private bool DeleteData(ListViewDeleteEventArgs e) { //当前用户输入的id号 Int64 id = Convert.ToInt64(e.Keys[0]); //数据适配器 //当前数据库连接 //当前更新语句对象 using (var da = new t_use_electricTableAdapter()) using (var cmd = da.Adapter.DeleteCommand) using (var conn = cmd.Connection) { //打开数据库连接 conn.Open(); //开启事务 using (var tran = conn.BeginTransaction()) { //试运行 try { //设置事务 da.Transaction = tran; //获取数据 using (var tab = da.GetDataById(id)) { //检查是否获取到行 if (tab.Rows.Count == 0) { //显示失败 throw new Exception("当前生产记录已经被其他用户删除!"); } else { //执行删除 da.Delete(id); } } //提交事务 tran.Commit(); //返回成功 return true; } catch (Exception ex) { //回滚事务 tran.Rollback(); //非数字返回失败 throw new Exception(ex.Message); } } } }
/// <summary> /// 根据输入的参数值来执行更新数据 /// </summary> /// <param name="e">传入的带有数据的事件参数</param> /// <returns></returns> private bool UpdateData(FormViewUpdateEventArgs e) { //数据适配器 //当前添加语句对象 //当前数据库连接 using (var da = new t_use_electricTableAdapter()) using (var cmd = da.Adapter.UpdateCommand) using (var conn = cmd.Connection) { //打开数据库连接 conn.Open(); //开启事务 using (var tran = conn.BeginTransaction()) { //设置事务 da.Transaction = tran; //试运行 try { //部门名称 string deptName = e.OldValues["dept_name"].ToString(); //当前行id号 Int64 id = Convert.ToInt64(e.Keys["id"]); //获取数据 using (var tab = da.GetDataById(id)) { //检查是否获取到行 if (tab.Rows.Count == 0) { //显示失败 throw new Exception("当前生产记录已经被其他用户删除!"); } else { //直接保存 e.Cancel = false; } } //部门名称 deptName = e.NewValues["dept_name"].ToString(); //保存一条记录到数据库 if (!ydOperateBalanceLotCrad.UpdateOneRecord( cmd, e, string.Empty, deptName )) { //失败就直接返回 return false; } //提交事务 tran.Commit(); //返回成功 return true; } catch (Exception ex) { //回滚事务 tran.Rollback(); //非数字返回失败 throw new Exception(ex.Message); } } } }