基础三层架构DAL进行删除修改

这篇博客探讨了在C#基础三层架构中如何进行删除和修改操作。对于查询,区分了为GridView赋值的查询和为控件赋值的查询方法。文章详细介绍了这两种查询的实现,并提供了修改方法的步骤。此外,还提到了sqlhelper类的使用,并给出了相关链接以供深入学习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

删除

         /// <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类链接

关于三层架构中SQLHelper类基础形式_三层架构lisql helper-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值