程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 業務系統中的基礎數據刪除問題,解決辦法。,業務基礎

業務系統中的基礎數據刪除問題,解決辦法。,業務基礎

編輯:C#入門知識

業務系統中的基礎數據刪除問題,解決辦法。,業務基礎


在博客園混了也有幾年了。雖然是業余的。但也確實從博客園中學習到不少東西。今天自己也開博了。作為第一篇博客,我就寫寫自己做業務系統時遇到的問題,和解決辦法。還望各位大仙不要噴我哦。

自己做客戶端也有些時日了。經常的遇到基礎數據的刪除問題。好像有不少系統都是不能刪除的吧。只是標記一下,不能使用而已。

我想如果是新添加的數據,無關聯數據時,物理刪除也是無傷大雅的吧。大家看看我的方法吧。其實也是仿Windows 的回收站功能。還請高手指點哦。

首先看一下圖片吧。窗體中添加DotNotBar的開關控件,並設置過濾條件。刪除時,放到回收站內。在回收站內,再點一下刪除時,會搜索此數據是否有關聯數據,C#+EF示例:

        private void bindingNavigatorDeleteItem_Click(object sender, EventArgs e)
        {
            if (tProductBindingSource.Current != null)
            {
                if (!switchButtonItem1.Value && MessageUtil.ShowYesNoAndTips("確認刪除該筆商品數據?刪除後商品將放入商品回收站內!") == DialogResult.Yes)
                {
                    var one = ((t_Product)tProductBindingSource.Current);
                    one.Enable = false;
                    db.SaveChanges();
                }
                else 
                {
                    try
                    {
                        var one = ((t_Product)tProductBindingSource.Current);
                        var more = db.t_Product.AsNoTracking().Where(p => p.ProductID == one.ProductID).Select(p => new { n = p.s_RKDetail.Count() + p.s_SellDetail.Count() + p.s_Stock.Count() + p.t_ChangeStock.Count() });
                        if (more.FirstOrDefault().n == 0)
                        {
                            db.t_Product.Remove(one);
                            db.SaveChanges();
                        }
                        else MessageUtil.ShowWarning("此商品數據,已經關聯庫存記錄,不能物理刪除!但是可以修改為新商品數據,並使用。");
                    }
                    catch (Exception err)
                    {
                        MessageUtil.ShowError("此商品刪除出錯!可以修改為新商品數據,並使用。錯誤內容為:" + err.Message);
                    }
                }
                buttonX1_Click(null, null);
            }
        }

 

其實也就是查找此數據相關聯的其它表行數,並相加,只要不為0,就說明有關聯數據,不能刪除。再給出提示即可。

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved