Asp.net+EntitFramwork+sqlServer 制作简单的增删改查

此示例在于 在aspx网页中直接操作数据库 实现简单的增删改查和分页功能

也许查找和分页会慢一些再做
不过思路都差不多
好 开始

先引入 EntityFramwork

在这里插入图片描述

创建一个页面 命名为 ShoppingMall

	//.cs
  protected db_NetShopEntities1 dbContext = new db_NetShopEntities1();

初始化一下

//.aspx
     <table>
           <tr>
        <% foreach (var Model in dbContext.tb_GoodsInfo){%>
                

            <td id><%=Model.GoodsID %> </td>             
           <td> <%=Model.GoodsName %></td> 
           <td> <%=Model.GoodsKind %></td>
           <td><%=Model.GoodsPhoto %>  </td>         
          <td>  <%=Model.GoodsPrice %></td>
          <td> <%=Model.GoodsIntroduce %></td>
           <td> <a href="EditButton.aspx?Id=<%=Model.GoodsID%>" title="Edit" class="aListEdit" ><img align="absmiddle" alt="Edit" src="/images/edit.gif" /></a></td>
           <td> </td>
       
               </tr>
                       
        <%} %>

       
       </table>

这样打开网页页面的时候,就会以文本显示出数据库存储的信息

          <td> <a href="EditButton.aspx?Id=<%=Model.GoodsID%>" title="Edit" class="aListEdit" ><img align="absmiddle" alt="Edit" src="/images/edit.gif" /></a></td>

做一个能够读取数据id的按钮 以?id= 方式向另一个页面传值

再新建一个EditButton.aspx 引入

//cs
	 protected  IQueryable<tb_GoodsInfo> lstModel;

    protected db_NetShopEntities1 dbContext = new db_NetShopEntities1();


在这里插入图片描述string varvalue = Request.Params["Id"]; int GoodsID = Convert.ToInt32(varvalue);
获取GoodsID 为上一个页面?Id=传递的参数

获取GoodsID 所在的行数

        lstModel = dbContext.tb_GoodsInfo.Where(p => p.GoodsID == GoodsID).Select(p => p);

在这里插入图片描述打个比方 如果 GoodsID = 1 那么 lstModel就会装载那一条的数据
在这里插入图片描述```
<–aspx–>

            <tr> <td><asp:TextBox ID="txtGoodsID" runat="server"></asp:TextBox></td> </tr>
           <tr> <td> <asp:TextBox ID="txtGoodsName" runat="server"></asp:TextBox></td> </tr>
           <tr> <td> <asp:TextBox ID="txtGoodsKind" runat="server"></asp:TextBox></td> </tr>
          <tr>  <td> <asp:TextBox ID="txtGoodsPhoto" runat="server"></asp:TextBox></td> </tr>
           <tr> <td> <asp:TextBox ID="txtGoodsPrice" runat="server"></asp:TextBox></td> </tr>
           <tr>  <td><asp:TextBox ID="txtGoodsIntroduce" runat="server"></asp:TextBox></td> </tr>

        </tr>`

做几个文本框用于存放读取的数据

回到cs页面


            var txtGoodsIDText = dbContext.tb_GoodsInfo.Where(p => p.GoodsID == GoodsID).Select(p => p.GoodsID).FirstOrDefault();

            var txtGoodsNameText = dbContext.tb_GoodsInfo.Where(p => p.GoodsID == GoodsID).Select(p => p.GoodsName).FirstOrDefault();

            var txtGoodsKindText = dbContext.tb_GoodsInfo.Where(p => p.GoodsID == GoodsID).Select(p => p.GoodsKind).FirstOrDefault();

            var txtGoodsPhotoText = dbContext.tb_GoodsInfo.Where(p => p.GoodsID == GoodsID).Select(p => p.GoodsPhoto).FirstOrDefault();

            var txtGoodsPriceText = dbContext.tb_GoodsInfo.Where(p => p.GoodsID == GoodsID).Select(p => p.GoodsPrice).FirstOrDefault();

            var txtGoodsIntroduceText = dbContext.tb_GoodsInfo.Where(p => p.GoodsID == GoodsID).Select(p => p.GoodsIntroduce).FirstOrDefault();


            txtGoodsID.Text = Convert.ToString(txtGoodsIDText);
            txtGoodsName.Text = txtGoodsNameText.ToString();
            txtGoodsKind.Text = txtGoodsKindText.ToString();
            txtGoodsPhoto.Text = txtGoodsPhotoText.ToString();
            txtGoodsPrice.Text = txtGoodsPriceText.ToString();
            txtGoodsIntroduce.Text = txtGoodsIntroduceText.ToString();

拿到GoodsId所在行的数据

装入aspx文本框

这里要切记 !isPostBack 很重要

接下来就是几个功能 先代码 有空再写


    protected void ButtonEdit_Click(object sender, EventArgs e)
    {

         {
            tb_GoodsInfo Model = new tb_GoodsInfo()
            {

                GoodsID = Convert.ToInt32(txtGoodsID.Text),
                GoodsName = txtGoodsName.Text,
                GoodsKind = txtGoodsKind.Text,
                GoodsPhoto = txtGoodsPhoto.Text,
                GoodsPrice = Convert.ToDecimal(txtGoodsPrice.Text),
                GoodsIntroduce = txtGoodsIntroduce.Text,


            };

            //Model.GoodsName = txtGoodsName.Text;

            //dbContext.tb_GoodsInfo.Add(Model);

            //dbContext.Entry(Model).State = EntityState.Deleted;


            dbContext.tb_GoodsInfo.Attach(Model);
       


        //dbContext.Entry<tb_GoodsInfo>(Model).State = System.Data.EntityState.Detached;



        //   dbContext.Entry(Model).Property<string>(p => p.GoodsName).IsModified = true;


        dbContext.Entry<tb_GoodsInfo>(Model).State = EntityState.Modified;





            // dbContext.SaveChanges();
            dbContext.SaveChanges();
            var conItem = dbContext.SaveChanges();

            Response.Write("返回受影响值" + conItem);



        }


    }

protected void ButtonDel_Click(object sender, EventArgs e)
    {

        tb_GoodsInfo Model = new tb_GoodsInfo()
        {

            GoodsID = Convert.ToInt32(txtGoodsID.Text),
            GoodsName = txtGoodsName.Text,
            GoodsKind = txtGoodsKind.Text,
            GoodsPhoto = txtGoodsPhoto.Text,
            GoodsPrice = Convert.ToDecimal(txtGoodsPrice.Text),
            GoodsIntroduce = txtGoodsIntroduce.Text,


        };

        dbContext.tb_GoodsInfo.Attach(Model);

        dbContext.Entry<tb_GoodsInfo>(Model).State = EntityState.Deleted;


        var conItem = dbContext.SaveChanges();

        Response.Write("返回受影响值" + conItem);


    }

   protected void ButtonAdd_Click(object sender, EventArgs e)
    {
        tb_GoodsInfo Model = new tb_GoodsInfo()
        {

            GoodsID = Convert.ToInt32(txtGoodsID.Text),
            GoodsName = txtGoodsName.Text,
            GoodsKind = txtGoodsKind.Text,
            GoodsPhoto = txtGoodsPhoto.Text,
            GoodsPrice = Convert.ToDecimal(txtGoodsPrice.Text),
            GoodsIntroduce = txtGoodsIntroduce.Text,


        };

        dbContext.tb_GoodsInfo.Add(Model);
        var conItem = dbContext.SaveChanges();

        Response.Write("返回受影响值" + conItem);
    }
发布了251 篇原创文章 · 获赞 42 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/qq_38992403/article/details/103271313
今日推荐