
完整的SQLServerCRUD操作步骤
目录


数据要求

添加测试数据

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

选择MVC

创建完成


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

来自数据库的EF设计器

这里新建链接

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

直接点击下一步

默认选择6.x

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

确认引入EF成功

需要使用的上下文对象

在【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();
}
}
}在函数名称上点击鼠标右键添加【添加视图】

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

视图页

视图代码
<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执行显示效果:没有样式,但是数据出来了。

视图代码
<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");
}
}
<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展示完毕。