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");
        }
    }
}
相关文章
|
30天前
|
开发框架 JavaScript .NET
asp.net中条件查询+分页
asp.net中条件查询+分页
15 1
|
1月前
|
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 ('李四',
62 2
C# .NET面试系列十一:数据库SQL查询(附建表语句)
|
2月前
|
存储 开发框架 NoSQL
ASP.NET WEB——项目中Cookie与Session的用法
ASP.NET WEB——项目中Cookie与Session的用法
29 0
|
30天前
|
SQL 数据库
使用ADO.NET查询和操作数据
使用ADO.NET查询和操作数据
9 0
|
2月前
|
JavaScript 关系型数据库 MySQL
Django教程第2章| Web开发实战-用户管理
基于Django实现用户管理:增删改查,搜索,分页。【2月更文挑战第22天】
54 0
Django教程第2章| Web开发实战-用户管理
|
2月前
|
SQL 开发框架 前端开发
ASP.NET WEB项目中GridView与Repeater数据绑定控件的用法
ASP.NET WEB项目中GridView与Repeater数据绑定控件的用法
32 0
|
16天前
|
监控 JavaScript 前端开发
《理解 WebSocket:Java Web 开发的实时通信技术》
【4月更文挑战第4天】WebSocket是Java Web实时通信的关键技术,提供双向持久连接,实现低延迟、高效率的实时交互。适用于聊天应用、在线游戏、数据监控和即时通知。开发涉及服务器端实现、客户端连接及数据协议定义,注意安全、错误处理、性能和兼容性。随着实时应用需求增加,WebSocket在Java Web开发中的地位将更加重要。
|
27天前
|
Web App开发 前端开发 开发工具
介绍Web开发的基础知识
介绍Web开发的基础知识
26 7
|
2天前
|
JSON Java fastjson
Spring Boot 底层级探索系列 04 - Web 开发(2)
Spring Boot 底层级探索系列 04 - Web 开发(2)
14 0
|
2天前
|
安全 编译器 PHP
PHP 8.1版本发布:引领Web开发新潮流
PHP编程语言一直是Web开发的主力军,而最新发布的PHP 8.1版本则为开发者们带来了更多创新和便利。本文将介绍PHP 8.1版本的主要特性,包括更快的性能、新的语言功能和增强的安全性,以及如何利用这些功能来提升Web应用程序的质量和效率。