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

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

作者: LeYouShe | 来源:发表于2022-11-12 09:15 被阅读0次

这是所要展示的界面:

那么如何实现呢?首先不妨打开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>");

                }

            }

        }

    }

}

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

相关文章

网友评论

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

      本文链接:https://www.haomeiwen.com/subject/egixxdtx.html