三层架构实现对数据的显示,增加,修改和删除

这是所要展示的界面:

在这里插入图片描述
那么如何实现呢?首先不妨打开sqlserver,我所要绑定的数据表为下:在这里插入图片描述
可以看出,该Users表里的字段只有4个,UserID为主键,且自增。表里的数据只有3条记录,那么,首先给大家附上一张增加之后的效果图:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
接着就是修改操作,将第一个登录id为long的密码修改为long:
在这里插入图片描述
在这里插入图片描述
然后到数据库查看记录:
在这里插入图片描述
可以看到已经达到所要的效果,删除功能大致差不多,
使用vs2019在项目中添加实体模型:
在这里插入图片描述
接下来直接附上代码:
DAL层代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using EF_P1.Models;

namespace EF_P1.DAL
{
    public class UserDAL
    {
        public static List<User> SelectUserAll()//查询所有user表数据
        {
            using(UsersDBEntities db=new UsersDBEntities())
            {
                return db.Users.ToList();
            }
        }
        public static bool InsertUser(User u)//增加
        {
            using (UsersDBEntities db = new UsersDBEntities())
            {
                
                db.Users.Add(u);
                /* int result=  db.SaveChanges();
                 if(result>0)
                 {
                     return true;
                 }
                 else
                 {
                     return false;
                 }
                 */
                return db.SaveChanges() > 0;

                
            }
        }
        public static bool UpdateUser(User user)//修改
        {
            using (UsersDBEntities db = new UsersDBEntities())
            {
                var data = db.Users.FirstOrDefault(p => p.UserID == user.UserID);
                data.LoginID = user.LoginID;
                data.LoginPWD = user.LoginPWD;
                data.UserID = user.UserID;
                return db.SaveChanges()>0;
            }
        }
        public static bool DeleteUserByUserID(User user)//删除
        {
            using(UsersDBEntities db=new UsersDBEntities())
            {
                var data = db.Users.FirstOrDefault(p => p.UserID == user.UserID);
                db.Users.Remove(data);
                return db.SaveChanges() > 0;
            }
        }
        
    }
}

BLL层代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using EF_P1.Models;

namespace EF_P1.BLL
{
    public class UserBLL
    {
        public static IEnumerable<User> SelectUserAll()
        {
            return DAL.UserDAL.SelectUserAll();
        }
        public static bool InsertUser(User u)
        {
            return DAL.UserDAL.InsertUser(u);
        }
        public static bool UpdateUser(User user)
        {
            return DAL.UserDAL.UpdateUser(user);
        }
        public static bool DeleteUser(User user)
        {
            return DAL.UserDAL.DeleteUserByUserID(user);
        }
    }
}

UI层.aspx代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="List.aspx.cs" Inherits="EF_P1.List" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <div>
                <fieldset>
                    <legend>增加操作</legend>
                    <p>账户:<asp:TextBox ID="txtname" runat="server"></asp:TextBox></p>
                    <p>密码:<asp:TextBox ID="txtpwd" runat="server" TextMode="Password"></asp:TextBox></p>
                    <p>角色:<asp:TextBox ID="txtrole" runat="server"></asp:TextBox>(0-超级管理员,1-普通用户)</p>
                    <p>
                        <asp:Button ID="btnAdd" runat="server" Text="添加" OnClick="btnAdd_Click" /></p>
                </fieldset>
            </div>
            <div>
                <fieldset>
                    <legend>用户列表</legend>
                    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="ObjectDataSource1" AllowPaging="True" DataKeyNames="UserID">
                        <Columns>
                            <asp:BoundField DataField="UserID" HeaderText="编号" SortExpression="UserID" ReadOnly="True" />
                            <asp:BoundField DataField="LoginID" HeaderText="登录ID" SortExpression="LoginID" />
                            <asp:BoundField DataField="LoginPWD" HeaderText="登录密码" SortExpression="LoginPWD" />
                            <asp:BoundField DataField="RoleName" HeaderText="角色名称" SortExpression="RoleName" />
                            <asp:CommandField ButtonType="Button" ShowDeleteButton="True" ShowEditButton="True" />
                        </Columns>
                    </asp:GridView>

                    <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" DataObjectTypeName="EF_P1.Models.User" DeleteMethod="DeleteUser" InsertMethod="InsertUser" SelectMethod="SelectUserAll" TypeName="EF_P1.BLL.UserBLL" UpdateMethod="UpdateUser"></asp:ObjectDataSource>
                </fieldset>
            </div>
        </div>
    </form>
</body>
</html>

.cs代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using EF_P1.Models;

namespace EF_P1
{
    public partial class List : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            //if(!IsPostBack)
            //{
            //    //using(UsersDBEntities db=new UsersDBEntities())
            //    //{
            //    //    var data = db.Users.ToList();
            //    //    GridView1.DataSource = data;
            //    //    GridView1.DataBind();
            //    //}
            //}
        }

        protected void btnAdd_Click(object sender, EventArgs e)
        {
            User user = new User();
            user.LoginID = txtname.Text;
            user.LoginPWD = txtpwd.Text;
            user.RoleName =int.Parse(txtrole.Text);
            if(txtname.Text==""||txtpwd.Text==""||txtrole.Text=="")
            {
                Response.Write("<script>alert('还有未填写功能!');window.location.href='List.aspx'</script>");
            }
            else
            {
                if (DAL.UserDAL.InsertUser(user))
                {

                    Response.Write("<script>alert('添加成功!');window.location.href='List.aspx'</script>");
                }
                else
                {
                    Response.Write("<script>alert('添加失败!');window.location.href='List.aspx'</script>");
                }
            }
            
        }
    }
}

本文只是记录自己学习的一个过程,如有问题,欢迎指出!

  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

no longer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值