c# database fiest增删改查实践

database fiest增删改查实践

首先就是实现数据库优先
创建model文件夹,引入数据库
添加
在这里插入图片描述
添加实体数据模型
在这里插入图片描述
选择ef设计器
在这里插入图片描述
如果有的话就确定,没有就新建
在这里插入图片描述
服务器名本机是localhost,使用sql身份验证,选择数据库,接下来的界面选择所有表,到图3界面的时候记得选中“是,~”

然后根据model层搭建三层架构
DAL层代码

		//模糊查询所有+分页
		public static List<girl1907> SelectAll(string name,int pagenow,int pagesize)
        {
            using (rj1907Entities db = new rj1907Entities())
            {
                //查询所有
                //模糊查询
                //分页
                int rows = (pagenow - 1) * pagesize;
                //条件筛选+排序+分页
                List<girl1907> girl1907s = db.girl1907.Where(o => o.nickName.Contains(name)).OrderBy(o=>o.id).Skip(rows).Take(pagesize).ToList();
                return girl1907s;
            }
        }
        //添加
        public static bool InsertInfo(string name,string introduce)
        {
            using (rj1907Entities db = new rj1907Entities())
            {
            	//声明表对象
                girl1907 g = new girl1907();
                //赋值
                g.id = System.Guid.NewGuid().ToString("N");
                g.createDate = DateTime.Now;
                g.nickName = name;
                g.introduce = introduce;
                //添加到表
                db.girl1907.Add(g);
                //保存到数据库
                int rows = db.SaveChanges();
                return rows > 0;
            }
        }
        //修改
        public static bool UpdateInfo(string id,string nick,string introduce)
        {
            using (rj1907Entities db = new rj1907Entities())
            {
                try
                {
                	//筛选到要修改的数据
                    girl1907 girl1907 = db.girl1907.Where(o => o.id == id).SingleOrDefault();
                    //修改
                    girl1907.nickName = nick;
                    girl1907.introduce = introduce;
                    //保存
                    int rows = db.SaveChanges();
                    return rows > 0;
                }
                catch (Exception)
                {
                    //id冲突
                    return false;
                }
            }
        }
        //删除
        public static bool DeleteById(string id)
        {
            using (rj1907Entities db = new rj1907Entities())
            {
                try
                {
                	//筛选到数据
                    girl1907 girl1907 = db.girl1907.Where(o => o.id == id).SingleOrDefault();
                    //删除
                    db.girl1907.Remove(girl1907);
                    int rows = db.SaveChanges();
                    return rows > 0;
                }
                catch (Exception)
                {
                    return false;
                }
            }
        }
        //根据id查询信息
        public static girl1907 SelectById(string id)
        {
            using (rj1907Entities db = new rj1907Entities())
            {
                try
                {
                    return db.girl1907.Where(o => o.id == id).SingleOrDefault();
                }
                catch (Exception)
                {
                    return null;
                }
            }
        }

BLL层依次调用DAL层代码即可

页面层

    <div>
        <div style="text-align:center;margin:10px;">
            <asp:Button runat="server" ID="button4" Text="添加" OnClick="button4_Click"  CssClass="btn btn-primary" Width="200px" />
        </div>
        <table class="table table-hover">
            <tr>
                <th>编号</th>
                <th>时间</th>
                <th>姓名</th>
                <th>介绍</th>
            </tr>
            <asp:Repeater runat="server" ID ="repeater1" OnItemCommand="repeater1_ItemCommand">
                <ItemTemplate>
                    <tr>
                        <td><%# Eval("id") %></td>
                        <td><%# Eval("createDate") %></td>
                        <td><%# Eval("nickName") %></td>
                        <td><%# Eval("introduce") %></td>
                        <td>
                            <asp:LinkButton runat="server" ID="btn1" Text="修改" CommandArgument='<%# Eval("id") %>' CommandName="updates" CssClass="btn btn-primary"></asp:LinkButton>
                            <asp:LinkButton runat="server" ID="btn2" Text="删除" CommandArgument='<%# Eval("id") %>' CommandName="deletes" CssClass="btn btn-primary" OnClientClick="return confirm('是否删除?')"></asp:LinkButton>
                        </td>
                    </tr>
                </ItemTemplate>
            </asp:Repeater>
        </table>
        <div style="text-align:center;">
            <asp:Button runat="server" ID="button1" Text="上一页" OnClick="button1_Click"  CssClass="btn btn-primary" />
            <span style="font-weight:bold;"><asp:Label runat="server" ID="txt"></asp:Label></span>
            <asp:Button runat="server" ID="button2" Text="下一页" OnClick="button2_Click"  CssClass="btn btn-primary" />
        </div>
        
    </div>

首行是添加按钮
接下来是表格+Repeater控件
最后是上一页下一页按钮

其中添加按钮是跳转到添加界面进行添加
以及页面显示数据

			repeater1.DataSource = rj1907BLL.SelectAll(str, pagenow, pagesize);
            repeater1.DataBind();

同时在表格里添加了LinkButton按钮,所以OnItemCommand事件

			if (e.CommandName.Equals("updates"))
            {
                string id = e.CommandArgument.ToString();
                Response.Redirect("Addinfo.aspx?id="+e.CommandArgument);
            }
            else if (e.CommandName.Equals("deletes"))
            {
                string id = e.CommandArgument.ToString();
                if (rj1907BLL.DeleteById(id))
                {
                    Response.Write("<script>alert('成功');window.location.href='Default'</script>");
                }
                else
                {
                    Response.Write("<script>alert('失败')</script>");
                }
            }

通过传过来的值判断修改和删除,在分别执行修改跳转和删除判断

然后是添加页面,此界面根据传过来的id值判断是否是修改和添加操作

    <form id="form1" runat="server">
        <div>
            <link href="Content/bootstrap.css" rel="stylesheet" />
            <script src="Scripts/jquery-3.4.1.js"></script>
            <script src="Scripts/bootstrap.min.js"></script>
            <p>
                昵称:<asp:TextBox runat="server" ID="nickname" placeholder="请输入昵称" CssClass="form-control"></asp:TextBox>
            </p>
            <p>
                简介:<asp:TextBox runat="server" ID="introduce" placeholder="请输入简介" CssClass="form-control"></asp:TextBox>
            </p>
            <p>
                <asp:Button runat="server" ID="btn" OnClick="btn_Click" CssClass="btn btn-primary" Text="添加" />
                <asp:Button runat="server" ID="btn1" OnClick="btn1_Click" CssClass="btn btn-primary" Text="修改" />
            </p>
        </div>
    </form>

页面加载事件

            if (!IsPostBack)
            {
                if (Request.QueryString["id"] != null)
                {
                    id = Request.QueryString["id"];
                    btn.Style["display"] = "none";
                    btn1.Style["display"] = "block";
                    girl1907 g = rj1907BLL.SelectById(id);
                    nickname.Text = g.nickName;
                    introduce.Text = g.introduce;
                }
                else
                {
                    btn1.Style["display"] = "none";
                    btn.Style["display"] = "block";
                }
            }

判断是否有值,有值就是修改,取值赋值;无值就是添加

添加操作

			string Nickname = this.nickname.Text;
            string Introduce = this.introduce.Text;
            if (string.IsNullOrEmpty(Nickname) |string.IsNullOrEmpty(Introduce))
            {
                return;
            }
            if(rj1907BLL.InsertInfo(Nickname, Introduce))
            {
                Response.Redirect("Default.aspx");
            }
            else
            {
                Response.Write("<script>alert('添加失败!')</script>");
            }

修改操作

            string Nickname = this.nickname.Text;
            string Introduce = this.introduce.Text;
            if (rj1907BLL.UpdateInfo(id ,Nickname, Introduce))
            {
                Response.Write("<script>alert('修改成功!');window.location.href='Default.aspx'</script>");
            }
            else
            {
                Response.Write("<script>alert('修改失败!')</script>");
            }
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

PROBIE_

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

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

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

打赏作者

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

抵扣说明:

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

余额充值