ASP.NET MVC | 增删改查小项目-MySQL数据库

目录

前提

数据库和表

完成展示

主页:Index

添加商品页面:Add

修改商品页面:Edit

删除:Del

代码 

No.1-配置MySQL数据库

No.2-初始化数据

No.3-删除操作

No.4-新增操作

No.5-修改操作

最后


前提

学过mvc的,应该都看得懂,这只是一个简单的增删改查的项目,正在学的看不懂的,可以学学再来看看这个项目。

我呢这个电脑上没有SqlServer数据库,所以不是用添加实体数据模型的形式做的,是用连接字符串的方式做的而且是用的连接MySQL数据库。

实现连接到MYSQL数据库。

先安装 MySQL-Connector-Net。

我下载安装的是mysql-connector-net-6.10.9.msi

数据库和表

对数据库Product中goods表进行增删改查操作。

数据库名:Product
表名:goods
字段名数据类型长度小数点备注
GoodIdint商品编号(主键,增量1)
GoodNamevarchar255商品名称(不能为null)
GoodPricedecimal202商品价格(不能为null)
GoodStockint商品库存(不能为null)
Desriptionvarchar255商品描述(不能为null)

完成展示

主页:Index

添加商品页面:Add

修改商品页面:Edit

删除:Del

接下来进入代码展示。

代码 

No.1-配置MySQL数据库

 现在项目中安装两个NuGet程序包。

右键项目名,选择“管理NuGet”程序包。

下载Mysql.DataMysql.Data.EntityFramework。

接下来,在Models中添加自己需要的类。

要在数据库中添加好相应的数据。

记得模型类的名字和表名一定要相同。

 在Web.config中添加配置,记得把相应的服务器地址,用户名,密码,数据库等信息配置正确。

 记得改:server、user id、password、database这几个字段。(剩下的不用改)

<connectionStrings>
		<add name="DefaultConnection" connectionString="server=10.1.240.34;user id=jiaokun;password=123456;persist security info=True;database=product;charset=utf8;" providerName="MySql.Data.MySqlClient" />
	</connectionStrings>

 然后添加类MyContext(我添加在了App_Start文件夹中)

using MySql.Data.EntityFramework;
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Web;
using product_goods.Models;

namespace product_goods.App_Start
{
    [DbConfigurationType(typeof(MySqlEFConfiguration))]
    public class MyContext : DbContext
    {
        public DbSet<goods> g { get; set; }

        public MyContext() : base("DefaultConnection")
        {
            Database.CreateIfNotExists();
        }
    }

}

 需要改的地方自己改,还需要引用相对应的命名空间。

 第一步完成了,接下来开始进行,增删改查。

No.2-初始化数据

主页和控制器配置。

控制器名:ProductController

主页:Index

初始化数据代码。(控制器代码)

public MyContext db = new MyContext();
        // 初始化数据
        public ActionResult Index()
        {
            var list = db.g.ToList();
            return View(list);
        }

需要什么命名空间,自己引用。

 Index视图代码。

@using product_goods.Models;
@{
    ViewBag.Title = "商品管理";
    Layout = null;
}
<style>
    table th {
        text-align: center;
    }
</style>
<h2 style="text-align:center;">商品管理</h2>
<link href="~/Content/bootstrap.min.css" rel="stylesheet" />
<a href="/product/Add" style="text-decoration:none;color:black;font-size:15px;">添加商品</a>
<table class="table table-bordered text-center table-hover">
    <tr>
        <th>商品编号</th>
        <th>商品名称</th>
        <th>商品价格</th>
        <th>商品数量</th>
        <th>商品描述</th>
        <th>操作</th>
    </tr>
    @foreach (var item in Model)
    {
        <tr>
            <td>@item.goodid</td>
            <td>@item.goodname</td>
            <td>@item.goodprice</td>
            <td>@item.goodstock</td>
            <td>@item.desription</td>
            <td>
                <a href="/product/Del?id=@item.goodid" class="btn btn-danger" onclick="return confirm('确认删除商品名为@(item.goodname)的商品吗?')">删除</a>
                <a href="/product/Edit?id=@item.goodid" class="btn btn-default">修改</a>
            </td>

        </tr>
    }
</table>


No.3-删除操作

在Index视图已经传了ID了。然后再控制器写方法进行删除。

 控制器删除方法。

//删除数据
        public ActionResult Del(int id)
        {
            db.g.Remove(db.g.Find(id));
            if (db.SaveChanges() > 0)
            {
                return Content("<script>alert('删除成功');window.location.href='../product/index';</script>");
            }
            else
            {
                return View();
            }
        }

No.4-新增操作

Index视图进行跳转到添加页面。

 Add视图代码

@using product_goods.Models;
@{
    ViewBag.Title = "Add";
    Layout = null;
}

<h2>添加商品</h2>
<link href="~/Content/bootstrap.min.css" rel="stylesheet" />
<div>
    <form class="bs-example bs-example-form" action="/product/Add" method="post" style="padding: 10px 10px 10px;" role="form">
        <div class="input-group">
            <span class="input-group-addon">商品名称:</span>
            <input type="text" class="form-control" style="width:15%;" name="goodname" placeholder="">
            
        </div>
        <br>
        <div class="input-group">
            <span class="input-group-addon">商品价格:</span>
            <input type="text" class="form-control" style="width:15%;" name="goodprice" placeholder="">
        </div>        
        <br>
        <div class="input-group">
            <span class="input-group-addon">商品数量:</span>
            <input type="text" class="form-control" style="width:15%;" name="goodstock" placeholder="">
        </div>
        <br />
        <div class="input-group">
            <span class="input-group-addon">商品详情:</span>
            <input type="text" class="form-control" style="width:15%;" name="desription" placeholder="">
        </div>
        <br />
        <div>
            <input type="submit" name="name" style="margin-left:50px;width:150px;" value="添加" class="btn btn-default text-center" />
        </div>
    </form>
</div>


控制器添加方法。

//添加数据
        public ActionResult Add()
        {
            return View();
        }
        [HttpPost]
        public ActionResult Add(goods gs)
        {
            db.g.Add(gs);
            if (db.SaveChanges() > 0)
            {
                return Content("<script>alert('添加成功');window.location.href='../product/index';</script>");
            }
            else
            {
                return Content("<script>alert('添加失败');window.location.href='../product/Add';</script>");
            }
        }

No.5-修改操作

在Index视图传递ID。

 Edit视图。

@model product_goods.Models.goods
@{
    ViewBag.Title = "Edit";
    Layout = null;
}

<h2>修改数据</h2>
<link href="~/Content/bootstrap.min.css" rel="stylesheet" />
<div>
    <form class="bs-example bs-example-form" action="/product/Edit" method="post" style="padding: 10px 10px 10px;" role="form">
        <div class="input-group">
            <span class="input-group-addon">商品编号:</span>
            <input type="text" class="form-control" readonly style="width:15%;" value="@Model.goodid" name="goodid" placeholder="">
        </div>
        <br />
        <div class="input-group">
            <span class="input-group-addon">商品名称:</span>
            <input type="text" class="form-control" style="width:15%;" value="@Model.goodname" name="goodname" placeholder="">
        </div>
        <br>
        <div class="input-group">
            <span class="input-group-addon">商品价格:</span>
            <input type="text" class="form-control" style="width:15%;" value="@Model.goodprice" name="goodprice" placeholder="">
        </div>
        <br>
        <div class="input-group">
            <span class="input-group-addon">商品数量:</span>
            <input type="text" class="form-control" style="width:15%;" value="@Model.goodstock" name="goodstock" placeholder="">
        </div>
        <br />
        <div class="input-group">
            <span class="input-group-addon">商品详情:</span>
            <input type="text" class="form-control" style="width:15%;" value="@Model.desription" name="desription" placeholder="">
        </div>
        <br />
        <div>
            <input type="submit" name="name" style="margin-left:50px;width:150px;" value="编辑" class="btn btn-default text-center" />
        </div>
    </form>
</div>

控制器修改方法。

//修改数据
        public ActionResult Edit(int id)
        {
            var gid = db.g.Find(id);
            return View(gid);
        }
        [HttpPost]
        public ActionResult Edit(goods g)
        {
            db.Entry(g).State = EntityState.Modified;
            if (db.SaveChanges() > 0)
            {
                return Content("<script>alert('修改成功');window.location.href='../product/index';</script>");
            }
            else
            {
                return Content("<script>alert('修改失败');window.location.href='../product/Edit';</script>");

            }
        }

这就是增删改查的几步。其实这就是MVC最简单的增删改查,假如要是这个都不会,就真的完蛋了。

最后

一开始都有不会的东西,没人天生来就会,所以慢慢学,陌生人加油哟!

  • 7
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
ASP.NET MVC 是一种用于创建 Web 应用程序的框架,其中包括实现增删改查等常见操作的功能。下面是一个简单的示例: 1. 创建 Model 类 在 Models 文件夹中创建一个类,用于表示要操作的数据。 ```csharp public class Person { public int Id { get; set; } public string Name { get; set; } public int Age { get; set; } } ``` 2. 创建 DbContext 类 在 Models 文件夹中创建一个继承自 DbContext 的类,用于处理数据的存储和检索。 ```csharp public class MyDbContext : DbContext { public DbSet<Person> Persons { get; set; } } ``` 3. 创建控制器类 在 Controllers 文件夹中创建一个控制器类,用于处理 HTTP 请求并调用 DbContext 的方法。 ```csharp public class PersonController : Controller { private readonly MyDbContext _context; public PersonController(MyDbContext context) { _context = context; } public IActionResult Index() { var persons = _context.Persons.ToList(); return View(persons); } public IActionResult Create() { return View(); } [HttpPost] public IActionResult Create(Person person) { if (ModelState.IsValid) { _context.Persons.Add(person); _context.SaveChanges(); return RedirectToAction("Index"); } return View(person); } public IActionResult Edit(int id) { var person = _context.Persons.FirstOrDefault(p => p.Id == id); if (person == null) { return NotFound(); } return View(person); } [HttpPost] public IActionResult Edit(int id, Person person) { if (id != person.Id) { return NotFound(); } if (ModelState.IsValid) { _context.Persons.Update(person); _context.SaveChanges(); return RedirectToAction("Index"); } return View(person); } public IActionResult Delete(int id) { var person = _context.Persons.FirstOrDefault(p => p.Id == id); if (person == null) { return NotFound(); } return View(person); } [HttpPost, ActionName("Delete")] public IActionResult DeleteConfirmed(int id) { var person = _context.Persons.FirstOrDefault(p => p.Id == id); if (person == null) { return NotFound(); } _context.Persons.Remove(person); _context.SaveChanges(); return RedirectToAction("Index"); } } ``` 4. 创建视图文件 在 Views 文件夹中创建与控制器方法名相对应的视图文件,用于显示数据和接收用户输入。 Index.cshtml: ```html @model List<Person> <table> <thead> <tr> <th>Id</th> <th>Name</th> <th>Age</th> <th></th> </tr> </thead> <tbody> @foreach (var person in Model) { <tr> <td>@person.Id</td> <td>@person.Name</td> <td>@person.Age</td> <td> <a asp-action="Edit" asp-route-id="@person.Id">Edit</a> | <a asp-action="Delete" asp-route-id="@person.Id">Delete</a> </td> </tr> } </tbody> </table> <a asp-action="Create">Create New</a> ``` Create.cshtml: ```html @model Person <form asp-action="Create" method="post"> <div> <label>Name:</label> <input asp-for="Name" /> </div> <div> <label>Age:</label> <input asp-for="Age" /> </div> <button type="submit">Create</button> </form> <a asp-action="Index">Back to List</a> ``` Edit.cshtml: ```html @model Person <form asp-action="Edit" asp-route-id="@Model.Id" method="post"> <div> <label>Name:</label> <input asp-for="Name" /> </div> <div> <label>Age:</label> <input asp-for="Age" /> </div> <button type="submit">Save</button> </form> <a asp-action="Index">Back to List</a> ``` Delete.cshtml: ```html @model Person <p>Are you sure you want to delete this record?</p> <form asp-action="Delete" asp-route-id="@Model.Id" method="post"> <button type="submit">Delete</button> </form> <a asp-action="Index">Back to List</a> ``` 以上就是一个简单的 ASP.NET MVC 实现增删改查的示例。请注意,这只是一个基础示例,实际项目中可能需要处理更复杂的数据和业务逻辑。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

二两清酒.

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

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

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

打赏作者

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

抵扣说明:

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

余额充值