ASP.NET WEB+EntityFramework数据持久化——考核练习库——1、用户管理系统(考点:查询列表、增加、删除)

简介: ASP.NET WEB+EntityFramework数据持久化——考核练习库——1、用户管理系统(考点:查询列表、增加、删除)

ASP.NET WEB+EntityFramework数据持久化——考核练习库——1、


前言

考试,是每个学生都要应对的事情,面对考试我们一定要有充分的准备才能以很高的分数通过考试,祝大家都能拿到一个比较高的分数。但是如何拿呢,我这里给大家准备了10套练习题,练习完毕肯定顺利通过,我保证。因为无论怎么考都逃不出这个圈子。

考试环境

系统环境:win7及以上,本示例环境win11

开发工具:Visual Studio 2012及以上

创建项目:

       控制台请创建【控制台应用(.NET Framework)】

       Web请创建【ASP.NET Web应用程序(.NET Framework)】

数据库:SQLServer数据库2012及以上版本·如果下载最新版本,使用免费版本即可。

       本地数据库链接:【.】或【127.0.0.1】

       登陆方式1:【本地登陆】

       登陆方式2:账号【sa】 pwd【admin】

       测试数据库名称:【mytest】

       排序规则:【Chinese_PRC_CI_AS】


一、题目部分

目标示例

1、数据库需求

名称 类型 介绍 约束
id int 编号 主键、自增
userName varchar(50) 用户名 非空
sex varchar(50) 性别 非空
age int 年龄 非空
introduce varchar(200) 简介 非空

2、项目需求

完成【用户管理系统】的遍历用户列表、增加用户、删除用户功能

遍历用户列表:

添加用户:

删除用户:

删除后效果:

3、提交标准

编号 内容
1 项目压缩文件(包含完整的项目)
2 数据量【分离文件】或数据库【SQL脚本】

4、评分标准

编号 得分点 分数
1 创建数据库、表与测试数据 10分
2 正确创建项目ASP.NETWEB窗体 5分
3 正确引入EF库 10分
4 创建Index.aspx窗体 5分
5 添加GridView或Repeater控件 10分
6 正确使用EF上下文对象查询数据并绑定到GridView或Repeater控件 15分
7 正确创建添加页面【AddPage.aspx】 5分
8 完成主页添加跳转以及添加页面【前后端】代码以及功能实现 20分
9 在GridView或Repeater控件中添加删除按钮并完成对应行的删除功能,删除提示5分 10分
10 编码规范,有注释和异常处理等 10分
备注: 如未按照要求提交,则依然不计算分数。

二、完整示例过程以及代码

项目创建

基础项目层次

引入EF

1、项目中鼠标右键添加类

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

这里选择【数据】,添加【ADO.NET】实体数据模型

3、从数据库导入

如果是2012版本的话只有2个选项,选择默认的第一个从数据库导入即可。

4、新建SQLServer数据库链接

5、添加【Microsoft SQL Server】数据源

6、数据库链接属性确认链接到具体数据库

7、确认数据库链接字符串

8、确认实体框架版本6.x

9、选择引入表

10、添加文件信任

11、引入完成

12、使用对象

首页Index.aspx

在项目中添加【Web窗体】

窗体名称为【Index】

前台

<table border="1" style="width:100%;">
    <tr>
        <th>编号</th>
        <th>昵称</th>
        <th>性别</th>
        <th>年龄</th>
        <th>简介</th>
    </tr>
    <asp:Repeater runat="server" ID="showTable">
        <ItemTemplate>
            <tr>
                <td><%# Eval("id") %></td>
                <td><%# Eval("userName") %></td>
                <td><%# Eval("sex") %></td>
                <td><%# Eval("age") %></td>
                <td><%# Eval("introduce") %></td>
            </tr>
        </ItemTemplate>
    </asp:Repeater>
</table>

后台

using (mytestEntities db = new mytestEntities()) {
                this.showTable.DataSource = db.users.ToList();
                this.showTable.DataBind();
            }

当前显示效果:

添加页面

前台代码

首页代码

<a href="AddPage.aspx">添加</a>

AddPage.aspx页面代码

<p>
    <asp:TextBox runat="server" ID="userName" placeholder="请输入用户名"></asp:TextBox>
</p>
<p>
    <asp:TextBox runat="server" ID="sex" placeholder="请输入用户性别"></asp:TextBox>
</p>
<p>
    <asp:TextBox runat="server" ID="age" placeholder="请输入用户年龄"></asp:TextBox>
</p>
<p>
    <asp:TextBox runat="server" ID="introduce" placeholder="请输入用户简介"></asp:TextBox>
</p>
<p>
    <asp:Button runat="server" Text="添加" OnClick="Unnamed_Click"/>
</p>

前台效果:

 

后台代码

protected void Unnamed_Click(object sender, EventArgs e)
{
    using (mytestEntities db = new mytestEntities())
    {
        users u = new users();
        u.id = 0;
        u.userName = this.userName.Text;
        u.sex = this.sex.Text;
        u.age = int.Parse(this.age.Text);
        u.introduce = this.introduce.Text;
        db.users.Add(u);
        db.SaveChanges();
        Response.Redirect("index.aspx");
    }
}

添加效果:

删除功能

前台

添加了【OnItemCommand="showTable_ItemCommand"】函数以及【删除按钮】。

<a href="AddPage.aspx">添加</a>
<table border="1" style="width:100%;">
    <tr>
        <th>编号</th>
        <th>昵称</th>
        <th>性别</th>
        <th>年龄</th>
        <th>简介</th>
        <th>操作</th>
    </tr>
    <asp:Repeater runat="server" ID="showTable" OnItemCommand="showTable_ItemCommand">
        <ItemTemplate>
            <tr>
                <td><%# Eval("id") %></td>
                <td><%# Eval("userName") %></td>
                <td><%# Eval("sex") %></td>
                <td><%# Eval("age") %></td>
                <td><%# Eval("introduce") %></td>
                <td>
                    <asp:LinkButton runat="server"
                        CommandName="Del"
                        CommandArgument='<%# Eval("id") %>'
                        OnClientClick="return confirm('确认要删除此行信息吗?')"
                        >删除</asp:LinkButton>
                </td>
            </tr>
        </ItemTemplate>
    </asp:Repeater>
</table>

后台

protected void showTable_ItemCommand(object source, RepeaterCommandEventArgs e)
{
    if (e.CommandName.Equals("Del"))
    {
        using (mytestEntities db = new mytestEntities())
        {
            int id = int.Parse(e.CommandArgument.ToString());
            users u = db.users.Where(o => o.id == id).SingleOrDefault();
            //删除对应id的用户信息
            db.users.Remove(u);
            db.SaveChanges();
            Response.Redirect("index.aspx");
        }
    }
}
相关文章
|
2月前
|
开发框架 JavaScript .NET
asp.net中条件查询+分页
asp.net中条件查询+分页
16 1
|
2月前
|
SQL 数据库 C#
C# .NET面试系列十一:数据库SQL查询(附建表语句)
#### 第1题 用一条 SQL 语句 查询出每门课都大于80 分的学生姓名 建表语句: ```sql create table tableA ( name varchar(10), kecheng varchar(10), fenshu int(11) ) DEFAULT CHARSET = 'utf8'; ``` 插入数据 ```sql insert into tableA values ('张三', '语文', 81); insert into tableA values ('张三', '数学', 75); insert into tableA values ('李四',
68 2
C# .NET面试系列十一:数据库SQL查询(附建表语句)
|
2月前
|
前端开发 JavaScript 区块链
连接区块链节点的 JavaScript 库 web3.js
连接区块链节点的 JavaScript 库 web3.js
29 2
|
5天前
|
开发框架 缓存 前端开发
利用Visual Basic构建高效的ASP.NET Web应用
【4月更文挑战第27天】本文探讨使用Visual Basic与ASP.NET创建高效Web应用的策略,包括了解两者基础、项目规划、MVC架构、数据访问与缓存、代码优化、异步编程、安全性、测试及部署维护。通过这些步骤,开发者能构建出快速、可靠且安全的Web应用,适应不断进步的技术环境。
|
8天前
|
开发框架 前端开发 数据库
Python从入门到精通:3.3.2 深入学习Python库和框架:Web开发框架的探索与实践
Python从入门到精通:3.3.2 深入学习Python库和框架:Web开发框架的探索与实践
|
2月前
|
SQL 数据库
使用ADO.NET查询和操作数据
使用ADO.NET查询和操作数据
11 0
|
2月前
|
存储 前端开发 JavaScript
强烈推荐一个Python库!制作Web Gui也太简单了!
强烈推荐一个Python库!制作Web Gui也太简单了!
|
Web App开发 前端开发 .NET
|
4月前
|
开发框架 前端开发 .NET
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
44 0
|
6天前
|
开发框架 前端开发 JavaScript
JavaScript云LIS系统源码ASP.NET CORE 3.1 MVC + SQLserver + Redis医院实验室信息系统源码 医院云LIS系统源码
实验室信息系统(Laboratory Information System,缩写LIS)是一类用来处理实验室过程信息的软件,云LIS系统围绕临床,云LIS系统将与云HIS系统建立起高度的业务整合,以体现“以病人为中心”的设计理念,优化就诊流程,方便患者就医。
16 0