天天看點

基礎三層架構DAL進行删除修改

删除

/// <summary>
        /// 删除的方法
        /// </summary>
        /// <param name="id">主鍵列</param>
        /// <returns></returns>
        public static int Delect(int id)
        {
            //删除用sql語句
            string sql = "delete from Product where Id =" + id;
            //調用sqlhelper增删改方法,直接傳回影響行數
            return SqlHelPer.NonQuery(sql);
        }
           

查詢,在查詢中我們應要注意,查詢應該使用什麼樣的查詢,是需要去擷取一張表(一般用來給GridView指派),還是一個model層的資料類(一般是為了修改選中列跳轉後給各個控件指派),這樣我們就知道需要兩種查詢方法

第一種給Grid View指派:

/// <summary>
        /// 查詢
        /// </summary>
        /// <param name="Id">産品編号</param>
        /// <param name="ProductName">産品名稱</param>
        /// 其中的參數可以安照需要進行更改
        /// <returns></returns>
        public static DataTable Select(int Id = 0, string ProductName = "")
        {
            //查詢sql語句
            var sql = "select Product.*,Name from ProductCategory,Product where ProductCategory.Id=Product.CategoryId ";//注意結尾處空格
            //判斷是否符合要求注意如果判斷條件及該字段預設值一定是表中沒有的
            if (Id != 0)
            {
                //注意and前的空格
                sql += " and Product.CategoryId=" + Id;
            }
            //同上
            if (ProductName != "")
            {
                sql += string.Format(" and ProductName like '%{0}%'", ProductName);

            }
            //傳回查詢結果,結果是一張表
            return SqlHelPer.Query(sql);
        }
           

第二種,跳轉後給各個控件指派

/// <summary>
        /// 查詢單行,編輯的前置查詢
        /// </summary>
        /// <param name="id">産品編号</param>
        ///注意傳回值是查詢到的表對應在model層的類
        /// <returns></returns>
        public static Product SelectID(int id)
        {
            //查詢sql語句
            var sql = "select*from Product where Id=" + id;
            //将查詢到的表指派給建立的表table
            DataTable table = SqlHelPer.Query(sql);
            //判斷表中的資料列是否為空,如果為空則傳回null
            if (table.Rows.Count < 1)
                return null;
            //将擷取到的列指派給DataROW類型的row
            DataRow row = table.Rows[0];
            //給需要傳回的類指派
            Product product = new Product
            {
                //int類型
                列名= Convert.ToInt32(row["列名"]),
                //string類型
                列名 = Convert.ToString(row["列名"]),
                //Double類型
                SellingPrice = Convert.ToDouble(row["SellingPrice"])
            };
            //傳回類
            return product;
        }
           

修改的方法

/// <summary>
        /// 修改的方法
        /// </summary>
        /// <param name="product">product類</param>
        /// <returns></returns>
        public static int Update(Product product)
        {
            //修改sql語句,傳入對應類的資料,及該類的資料是從對應頁面控件中擷取到的資料如:product.MarketPrice=TxtMarketPrice;
            //且該類是從model類中執行個體化的一個類,在編輯頁面背景進行對應的執行個體化和指派
            var sql = string.Format("update Product set ProductName='{0}',MarketPrice={1},SellingPrice={2},CategoryId={3},Introduction='{4}',IsOnSale={5} where Id={6}"
            , product.ProductName, product.MarketPrice, product.SellingPrice, product.CategoryId, product.Introduction, product.IsOnSale, product.Id);
            return SqlHelPer.NonQuery(sql);
        }
           

sqlhelper類連結

https://blog.csdn.net/vsvsvsv/article/details/106784918