Exemplo n.º 1
0
 /// <summary>
 /// 删除指定合同单号和行序号的一行数据
 /// </summary>
 /// <param name="e">事件参数</param>
 /// <returns></returns>
 private bool DeleteData(ListViewDeleteEventArgs e)
 {
     //数据适配器
     using (var da = new v_market_contractTableAdapter())
     using (var daContent = new t_market_contract_contentTableAdapter())
     using (var daHead = new t_market_contract_headTableAdapter())
     using (var daAppendix = new t_market_contract_appendixTableAdapter())
     {
         //数据库连接对象
         var conn = da.Connection;
         daContent.Connection = conn;
         daHead.Connection = conn;
         daAppendix.Connection = conn;
         //打开数据库连接
         conn.Open();
         //开启事务
         using (var tran = conn.BeginTransaction(System.Data.IsolationLevel.RepeatableRead))
         {
             try
             {
                 //绑定事务
                 da.Transaction = tran;
                 daContent.Transaction = tran;
                 daHead.Transaction = tran;
                 daAppendix.Transaction = tran;
                 //合同单号
                 string billNum = e.Keys[0].ToString();
                 //行号
                 byte rowId = byte.Parse(e.Keys[1].ToString());
                 //取指定单号和行序号的数据
                 var tab = da.GetDataByBillNumAndRowId(billNum, rowId);
                 if (tab.Rows.Count == 0)
                 {
                     throw new Exception(string.Format("当前单据:\n单号:{0}\n行号:{1}\n已经被其他用户删除!", billNum, rowId));
                 }
                 //删除数据行
                 if (daContent.Delete(billNum, rowId) <= 0)
                 {
                     throw new Exception("根据单号和行号删除合同内容失败!");
                 }
                 //删除数据表头
                 if (daHead.Delete(billNum) <= 0)
                 {
                     throw new Exception("根据单号和行号删除合同表头记录失败!");
                 }
                 //删除合同附件
                 if (daAppendix.Delete(billNum, rowId) <= 0)
                 {
                     throw new Exception("根据单号和行号删除合同附件记录失败!");
                 }
                 //提交事务
                 tran.Commit();
             }
             catch (Exception ex)
             {
                 //事务回滚
                 tran.Rollback();
                 throw ex;
             }
             finally
             {
                 conn.Close();
             }
         }
     }
     return true;
 }
Exemplo n.º 2
0
 //导出数据到Excel
 protected void lBtnToExcel_Click(object sender, EventArgs e)
 {
     //获取数据并填充到数据表
     using (var da = new v_market_contractTableAdapter())
     {
         //查询条件
         string strWhereContent = GetWhereContent();
         //排序条件
         string strOrderBy = GetOrderByContent();
         //获取前1万行数据
         var tab = da.GetPagedData(0, 10000, strWhereContent, strOrderBy);
         //设置列标题
         string[] titleCol =
             (@"合同日期,合同单号,合同序号,物料编码,产品名称,
                 产品尺寸/长(cm),产品尺寸/宽(cm),拼出,材料规格,合同价格,层数,
                 工艺要求/成型,工艺要求/表面,工艺要求/阻焊,工艺要求/文字,
                 单价(元)/PCS,模具费(元)/套,测架费(元)/套,备注,合同附件,客户代码,
                 需方,需方地址,需方电话,需方传真,需方邮箱,需方联系人,
                 供方,地址,电话,传真,备注,
                 制表,制表时间,审核,审核时间,修改时间
             ").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();
         }
     }
 }