ASP.Net实现姓名添加查询(三层架构)

目录

演示功能:

点击启动生成页面

 点击搜索模糊查询

点击添加跳转新界面

点击Button添加姓名

步骤:

1、建文件

2、添加引用关系

3、根据数据库中的列写Models下的XueshengModels类

4、DAL下的DBHelper(对数据库进行操作)

5、DAL数据访问层下的service文件

6、BLL业务逻辑层下调用DAL的文件

7、ui表现层主界面前端部分

8、ui表现层主界面后端部分

9、ui表现层添加界面前端部分

10、ui表现层添加界面后端部分


演示功能:

点击启动生成页面

 点击搜索模糊查询

点击添加跳转新界面

点击Button添加姓名

步骤:

1、建文件

下图是三层架构列表,Models里面有模拟数据库中列的类,DAL中有DBHelper和service,BLL中有BllManager文件用于ui界面直接调用

2、添加引用关系

DAL引用Models文件,BLL引用DAL和Models文件,主文件WebApplication1引用Bll和Models

3、根据数据库中的列写Models下的XueshengModels类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Models
{
  public   class XueshengModels
    {
        private string id;

        public string Id
        {
            get { return id; }
            set { id = value; }
        }
        private string name;

        public string Name
        {
            get { return name; }
            set { name = value; }
        }
        private string date;

        public string Date
        {
            get { return date; }
            set { date = value; }
        }

    }
}

4、DAL下的DBHelper(对数据库进行操作)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient;
namespace DAL
{
 public    class DBHelper
    {
     public static string connstr = "server=.;database=Xuesheng;uid=sa;pwd=123123";
     public static SqlConnection conn = null;
     public static void Connect() {
         if (conn==null)
         {
             conn = new SqlConnection(connstr);
         }
         conn.Close();
         conn.Open();
     }
     public static bool NoQuery(string sql) {
         Connect();
         SqlCommand cmd = new SqlCommand(sql,conn);
      int temp=   cmd.ExecuteNonQuery();
      return temp > 0;
     }
     public static SqlDataReader Reader(string sql)
     {
         Connect();
         SqlCommand cmd = new SqlCommand(sql, conn);
         return cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
     }

    }
}

5、DAL数据访问层下的service文件


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient;
namespace DAL
{
 public  class service
    {
     public static List<Models.XueshengModels> Cha() {
         List<Models.XueshengModels> list = new List<Models.XueshengModels>();
         string sql = "select * from Xuesheng";
      SqlDataReader read=   DBHelper.Reader(sql);
      while (read.Read())
      {
          Models.XueshengModels model=new Models.XueshengModels();
          model.Id = read["Id"].ToString();
          model.Name = read["Name"].ToString();
          model.Date = read["Date"].ToString();
          list.Add(model);
      }
      return list;
     }
     public static bool jia(string name) {
         string chuan = string.Format("insert xuesheng values('{0}',GETDATE())",name);
         if (DBHelper.NoQuery(chuan))
         {
             return true;
         }
         else
         {
             return false;
         }
     }
     public static List<Models.XueshengModels> sou(string soutext)
     {
         List<Models.XueshengModels> list = new List<Models.XueshengModels>();
         string sql = string.Format("select * from xuesheng where Name like '%{0}%'",soutext);

         SqlDataReader read = DBHelper.Reader(sql);
         while (read.Read())
         {
             Models.XueshengModels model = new Models.XueshengModels();
             model.Id = read["Id"].ToString();
             model.Name = read["Name"].ToString();
             model.Date = read["Date"].ToString();
             list.Add(model);
         }
         return list;
     }
    }
}

6、BLL业务逻辑层下调用DAL的文件

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BLL
{
  public   class BllManager
    {
      public static List<Models.XueshengModels> Cha() {
          return DAL.service.Cha();
      }
      public static bool jia(string name) {

          return DAL.service.jia(name);
      }
      public static List<Models.XueshengModels> sou(string soutext) {

          return DAL.service.sou(soutext);
      }
    }
}

7、ui表现层主界面前端部分

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication1.WebForm1" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <a href="Tianjia.aspx"> 添加</a><br />
        <asp:Label ID="Label1" runat="server" Text=a"搜索"></asp:Label>
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="确定" />
<hr />
        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
            <Columns>
                <asp:BoundField DataField="Id" FooterText="id" HeaderText="id" />
                <asp:BoundField DataField="Name" FooterText="name" HeaderText="name" />
                <asp:BoundField DataField="Date" FooterText="date" HeaderText="date" />
               
            </Columns>
        </asp:GridView>
    </div>
    </form>
</body>
</html>

8、ui表现层主界面后端部分

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace WebApplication1
{
    public partial class WebForm1 : System.Web.UI.Page
    {
        public void Page_Load(object sender, EventArgs e)
        {
         List<Models.XueshengModels> list=   BLL.BllManager.Cha();
         GridView1.DataSource = list;
         GridView1.DataBind();
        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            string soutex = TextBox1.Text;
            List<Models.XueshengModels> list = BLL.BllManager.sou(soutex);
            GridView1.DataSource = list;
            GridView1.DataBind();

        }

    }
}

9、ui表现层添加界面前端部分

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Tianjia.aspx.cs" Inherits="WebApplication1.Tianjia" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <a href="WebForm1.aspx">添加</a>
        <br />
        <asp:Label ID="Label1" runat="server" Text="添加"></asp:Label> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
       <br /> <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" style="height: 21px" />
    </div>
    </form>
</body>
</html>

10、ui表现层添加界面后端部分

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace WebApplication1
{
    public partial class Tianjia : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            string text = TextBox1.Text.ToString();
          bool pd=BLL.BllManager.jia(text);
          if (pd)
          {
              ClientScript.RegisterStartupScript(this.GetType(), "success", "alert('成功了!'),location.href='WebForm1.aspx'", true);
          }
          else
          {
              ClientScript.RegisterStartupScript(this.GetType(), "success", "alert('失败了!')", true);

          }
        }
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/264469.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

轻量Http客户端工具VSCode和IDEA

文章目录 前言Visual Studio Code 的插件 REST Client编写第一个案例进阶&#xff0c;设置变量进阶&#xff0c;设置Token 前言 作为一个WEB工程师&#xff0c;在日常的使用过程中&#xff0c;HTTP请求是必不可少的。我们采用的HTTP工具有如下&#xff1a; Postman Insomnia Ap…

MyBatis见解3

8.MyBatis的关联查询 8.3.一对多查询 需求&#xff1a;查询所有用户信息及用户关联的账户信息。 分析&#xff1a;用户信息和他的账户信息为一对多关系&#xff0c;并且查询过程中如果用户没有账户信息&#xff0c;此时也要将用户信息查询出来&#xff0c;此时左外连接查询比…

Spring和Spring Boot框架中怎么理解Bean这个核心概念

在Spring和Spring Boot框架中&#xff0c;Bean是一个核心概念。要理解Spring Boot中的Bean&#xff0c;我们可以从以下几个方面进行&#xff1a; 定义&#xff1a; Bean是Spring框架中的一个对象&#xff0c;由Spring容器管理。当我们在应用程序中需要某个对象时&#xff0c;我…

Deepin更换仿Mac主题

上一篇博客说了要写一篇deepin系统的美化教程 先看效果图&#xff1a; 准备工作&#xff1a; 1.你自己 嘻嘻嘻 2.能上网的deepin15.11电脑 首先去下载主题 本次需要系统美化3部分&#xff1a;1.图标 2.光标 3.壁纸 开始之前&#xff0c;请先把你的窗口特效打开&#xff0c;…

华为设备命令行操作基础

熟悉VRP命令行并且熟练掌握VRP配置是高效管理华为网络设备的必备基础。 设备初始化启动 管理员和工程师如果要访问在通用路由平台VRP上运行的华为产品&#xff0c;首先要进入启动程序。开机界面信息提供了系统启动的运行程序和正在运行的VRP版本及其加载路径。启动完成以后&am…

spring aop实际开发中怎么用,Spring Boot整合AOP,spring boot加spring mvc一起使用aop,项目中使用aop

前言&#xff1a;本文不介绍 AOP 的基本概念、动态代理方式实现 AOP&#xff0c;以及 Spring 框架去实现 AOP。本文重点介绍 Spring Boot 项目中如何使用 AOP&#xff0c;也就是实际项目开发中如何使用 AOP 去实现相关功能。 如果有需要了解 AOP 的概念、动态代理实现 AOP 的&…

【PHP手麻系统源码】基于mysql+laravel+vue开发的医院手术麻醉系统源码,实现围术期患者数据的自动采集与共享

手麻系统作为医院信息化系统的一环&#xff0c;由监护设备数据采集系统和麻醉信息管理系统两个子部分组成。手麻信息系统覆盖了患者术前、术中、术后的手术过程&#xff0c;可以实现麻醉信息的电子化和手术麻醉全过程动态跟踪。 以服务围术期临床业务工作的开展为核心&#xf…

分布式搜索elasticsearch概念

什么是elasticsearch&#xff1f; elasticsearch是一款非常强大的开源搜索引擎&#xff0c;可以帮助我们从海量数据中快速找到需要的内容 目录 elasticsearch的场景 elasticsearch的发展 Lucene篇 Elasticsearch篇 elasticsearch的安装 elasticsearch的场景 elasticsear…

BigQuery 分区表简介和使用

大纲 什么是分区表 我们先看定义&#xff1a; 分区表是一种数据库表设计和管理技术&#xff0c;它将表中的数据划分为逻辑上的多个分区&#xff0c;每个分区包含一组特定的数据。每个分区都根据定义的分区键&#xff08;通常是一个列或字段&#xff09;的值进行分类&#xff…

构建创新学习体验:企业培训系统技术深度解析

企业培训系统在现代企业中发挥着越来越重要的作用&#xff0c;它不仅仅是传统培训的延伸&#xff0c;更是技术创新的结晶。本文将深入探讨企业培训系统的关键技术特点&#xff0c;并通过一些简单的代码示例&#xff0c;展示如何在实际项目中应用这些技术。 1. 前端技术&#…

SLAM算法与工程实践——雷达篇:Livox激光雷达使用

SLAM算法与工程实践系列文章 下面是SLAM算法与工程实践系列文章的总链接&#xff0c;本人发表这个系列的文章链接均收录于此 SLAM算法与工程实践系列文章链接 下面是专栏地址&#xff1a; SLAM算法与工程实践系列专栏 文章目录 SLAM算法与工程实践系列文章SLAM算法与工程实践…

微信小程序格创校园跑腿小程序源码v1.1.64+前端

简介&#xff1a; 版本号&#xff1a;1.1.64 – 多学校版本 本次更新内容&#xff1a; 订单问题修复 &#xff08;无需上传小程序&#xff09; 版本号&#xff1a;1.1.63 – 多学校版本 本次更新内容&#xff1a; 失物招领增加内容安全接口&#xff1b; 认证增加性别选…

freeswitch on debian docker

概述 freeswitch是一款简单好用的VOIP开源软交换平台。 因为centos系统期限的原因&#xff0c;尝试在debian的docker上使用fs。 环境 docker engine&#xff1a;Version 24.0.6 debian docker&#xff1a;bullseye 11.8 freeswitch&#xff1a;v1.10.7 Debian准备 目前…

有待写入光盘的文件处理办法

windows11系统中 dvd盘中拖入文件后&#xff0c;文件未写入&#xff0c;信息提示有待写入光盘的文件 处理办法&#xff1a; 同时按住shift鼠标右键&#xff0c;点击光盘图标&#xff1a; 选择刻录到光盘 点击下一步 选择重新刻录 反复几次发现无法完成。 最后处理办法&…

【Grafana】Grafana匿名访问以及与LDAP连接

上一篇文章利用Docker快速部署了Grafana用来展示Zabbix得监控数据&#xff0c;但还需要给用户去创建账号允许他们登录后才能看展示得数据&#xff0c;那有什么办法让非管理员更方便得去访问Grafana呢&#xff1f;下面介绍两个比较方便实现的&#xff1a; 在开始设置前&#xff…

FastAPI实现文件上传下载

FastAPI实现文件上传下载 1.后端FastAPI2.后端html3.效果 最近的项目需求&#xff0c;是前端vue&#xff0c;后端fastAPI&#xff0c;然后涉及到图像的消息发送&#xff0c;所以需要用fast写文件上传下载的接口&#xff0c;这里简单记录一下。 1.后端FastAPI import os.path i…

C++的面向对象学习(5):对象的重要特性:对象的成员变量和成员函数深入研究

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、static修饰的静态成员&#xff1a;与类本身关联&#xff0c;不依赖于任何对象。①静态成员变量&#xff1a;②静态成员函数&#xff1a;&#xff08;1&#xff…

Docker 编译OpenHarmony 4.0 release

一、背景介绍 1.1、环境配置 编译环境&#xff1a;Ubuntu 20.04OpenHarmony版本&#xff1a;4.0 release平台设备&#xff1a;RK3568 OpenHarmony 3.2更新至OpenHarmony 4.0后&#xff0c;公司服务器无法编译通过&#xff0c;总是在最后几十个文件时报错,错误码4000&#xf…

python+django教学质量评价系统o8x1z

本基于web的在线教学质量评价系统的设计与实现有管理员&#xff0c;教师&#xff0c;督导&#xff0c;学生一共四个角色。管理员功能有个人中心&#xff0c;学生管理&#xff0c;教师管理&#xff0c;督导管理&#xff0c;学生评价管理&#xff0c;课程信息管理&#xff0c;学生…

less 查看文本时,提示may be a binary file.See it anyway?

解决办法 首先使用echo $LESSCHARSET查看less的编码 看情况设置less的编码格式(我的服务器上使用utf-8查看中文) 还要特别注意一下&#xff0c;Linux中存在的文本文件的编码一定要是utf - 8;&#xff08;这一步很关键&#xff09; 例如&#xff1a;要保证windows上传到Linux的…