ASP.NETMVC数据库完整CRUD操作示例

简介: ASP.NETMVC数据库完整CRUD操作示例



数据库

数据要求

添加测试数据

1、创建项目

依然创建的是【ASP.NETWeb】应用程序

选择MVC

创建完成

2、添加EF

添加【ADO.NET实体数据模型】

来自数据库的EF设计器

这里新建链接

添加数据库连接,这里测试数据库是本地数据库故而输入【.】

直接点击下一步

默认选择6.x

勾选引入实体模型,点击【完成】即可。

确认引入EF成功

需要使用的上下文对象

3、添加控制器

在【Controllers】中添加【控制器】

添加空【控制器】

输入控制器名称【Users】

使用【上下文对象】需要引入命名空间

【UsersController.cs】控制器代码

public class UsersController : Controller
{
    // GET: Users
    public ActionResult Index()
    {
        using (UsersDBEntities db = new UsersDBEntities()) {
            ViewBag.lists = db.users.ToList();
            return View();
        }
    }
}

4、添加视图

在函数名称上点击鼠标右键添加【添加视图】

点击【添加】,这里的视图名称是默认添加的。

视图页

视图代码

<h2>用户列表</h2>
<hr/>
<table>
    <tr>
        <th>编号</th>
        <th>昵称</th>
        <th>性别</th>
        <th>年龄</th>
        <th>简介</th>
    </tr>
    @foreach (var item in ViewBag.lists)
    {
        <tr>
            <td>@item.id</td>
            <td>@item.userName</td>
            <td>@item.sex</td>
            <td>@item.age</td>
            <td>@item.introduce</td>
        </tr>
    }
</table>

Ctrl+F5执行显示效果:没有样式,但是数据出来了。

5、修改与删除操作

视图代码

<h2>用户列表</h2>
<hr/>
<table>
    <tr>
        <th>编号</th>
        <th>昵称</th>
        <th>性别</th>
        <th>年龄</th>
        <th>简介</th>
        <th>操作</th>
    </tr>
    @foreach (var item in ViewBag.lists)
    {
        <tr>
            <td>@item.id</td>
            <td>@item.userName</td>
            <td>@item.sex</td>
            <td>@item.age</td>
            <td>@item.introduce</td>
            <td>
                <a href="~/Users/UpdateById?id=@item.id">修改</a>
                <a href="~/Users/Del?id=@item.id" onclick="return confirm('是否删除此行?')">删除</a>
            </td>
        </tr>
    }
</table>

后台代码

public ActionResult UpdateById(int id) {
    return View();
}
public ActionResult Del(int id)
{
    using (UsersDBEntities db = new UsersDBEntities())
    {
        users u = db.users.Where(o => o.id == id).SingleOrDefault();
        db.users.Remove(u);
        db.SaveChanges();
        return RedirectToAction("Index");
    }
}

由于没有修改页面的视图,故而需要添加

完成具体修改SelectById代码

public ActionResult UpdateById(int id) {
            using (UsersDBEntities db = new UsersDBEntities())
            {
                users u = db.users.Where(o => o.id == id).SingleOrDefault();
                ViewBag.user = u;
                return View();
            }
        }
        public ActionResult Del(int id)
        {
            using (UsersDBEntities db = new UsersDBEntities())
            {
                users u = db.users.Where(o => o.id == id).SingleOrDefault();
                db.users.Remove(u);
                db.SaveChanges();
                return RedirectToAction("Index");
            }
        }

添加【UpdateById】视图

修改视图代码

视图代码

<h2>修改</h2>
<hr/>
<form action="~/Users/UpdateInfo" method="post">
    <input type="text" name="id" value="@ViewBag.user.id" placeholder="请输入编号" readonly/>
    <input type="text" name="userName" value="@ViewBag.user.userName" placeholder="请输入用户名"/>
    <input type="text" name="sex" value="@ViewBag.user.sex" placeholder="请输入用户性别"/>
    <input type="text" name="age" value="@ViewBag.user.age" placeholder="请输入用户年龄"/>
    <input type="text" name="introduce" value="@ViewBag.user.introduce" placeholder="请输入用户简介"/>
    <input type="submit" value="修改"/>
</form>

添加【UpdateInfo】函数

public ActionResult UpdateInfo(users u) {
    using (UsersDBEntities db = new UsersDBEntities())
    {
        users old_u = db.users.Where(o => o.id == u.id).SingleOrDefault();
        old_u.userName = u.userName;
        old_u.sex = u.sex;
        old_u.age = u.age;
        old_u.introduce = u.introduce;
        db.SaveChanges();
        return RedirectToAction("Index");
    }
}

6、添加操作

<a href="~/Users/AddPage">添加</a>

添加【AddPage】函数以及【AddPageInfo】

public ActionResult AddPage() {
    return View();
}
public ActionResult AddPageInfo(string userName, string sex, int age, string introduce)
{
    using (UsersDBEntities db = new UsersDBEntities())
    {
        users u = new users();
        u.id = 0;
        u.userName = userName;
        u.sex = sex;
        u.age = age;
        u.introduce = introduce;
        db.users.Add(u);
        db.SaveChanges();
        return RedirectToAction("Index");
    }
}

添加【AddPage】的视图

添加【视图】

添加【视图】代码

<h2>AddPage</h2>
<hr />
<form action="~/Users/AddPageInfo" method="post">
    <input type="text" name="userName" placeholder="请输入用户名" />
    <input type="text" name="sex" placeholder="请输入用户性别" />
    <input type="text" name="age" placeholder="请输入用户年龄" />
    <input type="text" name="introduce" placeholder="请输入用户简介" />
    <input type="submit" value="添加" />
</form>

完整功能示例

添加视图

添加成功

修改操作

修改成功

删除功能

删除成功

CRUD展示完毕。

相关文章
|
JavaScript 关系型数据库 MySQL
❤Nodejs 第六章(操作本地数据库前置知识优化)
【4月更文挑战第6天】本文介绍了Node.js操作本地数据库的前置配置和优化,包括处理接口跨域的CORS中间件,以及解析请求数据的body-parser、cookie-parser和multer。还讲解了与MySQL数据库交互的两种方式:`createPool`(适用于高并发,通过连接池管理连接)和`createConnection`(适用于低负载)。
19 0
|
1月前
|
SQL 数据库连接 数据库
你不知道ADo.Net中操作数据库的步骤【超详细整理】
你不知道ADo.Net中操作数据库的步骤【超详细整理】
16 0
|
2月前
|
开发框架 Oracle 关系型数据库
ASP.NET实验室LIS系统源码 Oracle数据库
LIS是HIS的一个组成部分,通过与HIS的无缝连接可以共享HIS中的信息资源,使检验科能与门诊部、住院部、财务科和临床科室等全院各部门之间协同工作。 
37 4
|
17天前
|
存储 关系型数据库 MySQL
【mybatis-plus】Springboot+AOP+自定义注解实现多数据源操作(数据源信息存在数据库)
【mybatis-plus】Springboot+AOP+自定义注解实现多数据源操作(数据源信息存在数据库)
|
1月前
|
缓存 NoSQL 数据库
[Redis]——数据一致性,先操作数据库,还是先更新缓存?
[Redis]——数据一致性,先操作数据库,还是先更新缓存?
|
1月前
|
SQL 存储 关系型数据库
【mysql】—— 数据库的操作
【mysql】—— 数据库的操作
【mysql】—— 数据库的操作
|
2月前
|
存储 SQL 数据库连接
连接并操作数据库:Python 数据库案例
数据库是一种用于存储和管理数据的工具,它以一种有组织的方式将数据存储在文件或内存中,以便于检索和处理。数据库系统通常使用 SQL(Structured Query Language)语言来进行数据的操作,包括数据的插入、查询、更新和删除等。
|
2月前
|
SQL 开发框架 .NET
ASP.NET Web——GridView完整增删改查示例(全篇幅包含sql脚本)大二结业考试必备技能
ASP.NET Web——GridView完整增删改查示例(全篇幅包含sql脚本)大二结业考试必备技能
33 0
|
2月前
|
SQL Oracle 关系型数据库
【操作宝典】Navicat+MySQL:极简教程,轻松玩转数据库!
【操作宝典】Navicat+MySQL:极简教程,轻松玩转数据库!
52 1
|
3月前
|
关系型数据库 MySQL 数据库
【MySQL】如何使用图形化界面DataGrip操作数据库
【MySQL】如何使用图形化界面DataGrip操作数据库
80 0

热门文章

最新文章