ASP.Net实现玩具管理(三层架构,两项数据相乘)

目录

演示功能:

点击启动生成页面

步骤:

1、建文件

​编辑

2、添加引用关系

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

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

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

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

8、这个地方可以进行计算得出小计的数字

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

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


演示功能:

点击启动生成页面

步骤:

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 GoodsModel
    {
        private string goodsID;

        public string GoodsID
        {
            get { return goodsID; }
            set { goodsID = value; }
        }
      private string goodsName;

      public string GoodsName
      {
          get { return goodsName; }
          set { goodsName = value; }
      }

      private  string goodsPic;

      public  string GoodsPic
      {
          get { return goodsPic; }
          set { goodsPic = value; }
      }
      private  string goodsPrice;

      public  string GoodsPrice
      {
          get { return goodsPrice; }
          set { goodsPrice = value; }
      }
      private string goodsStock;

      public string GoodsStock
      {
          get { return goodsStock; }
          set { goodsStock = value; }
      }

      private string xiaoji;

      public string Xiaoji
      {
          get { return xiaoji; }
          set { xiaoji = value; }
      }
      private string zongji;
        public string Zongji
{
  get { return zongji; }
  set { zongji = 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=GoodsDB;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 ret=  cmd.ExecuteNonQuery();
       conn.Close();
       return ret > 0;
     }
     public static SqlDataReader Read(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 GoodsService
    {
      public static List<Models.GoodsModel> ChaXun()
      {
       SqlDataReader read=   DBHelper.Read("select * from Goods");
          List<Models.GoodsModel> list = new List<Models.GoodsModel>();
          int zong = 0;
          while (read.Read())
          {
              Models.GoodsModel model = new Models.GoodsModel();
              model.GoodsID = read["GoodsID"].ToString();
              model.GoodsName = read["GoodsName"].ToString();
              model.GoodsPic = read["GoodsPic"].ToString();
              model.GoodsPrice = read["GoodsPrice"].ToString();
              model.GoodsStock = read["GoodsStock"].ToString();
              model.Xiaoji = (int.Parse(read["GoodsStock"].ToString()) * int.Parse(read["GoodsPrice"].ToString())).ToString();
            
              
               zong  += int.Parse(read["GoodsStock"].ToString()) * int.Parse(read["GoodsPrice"].ToString());
               model.Zongji = zong.ToString();
              list.Add(model);
          }
          return list;
      }
      public static List<Models.GoodsModel> MoCha(string name)
      {
          string sql = string.Format("select * from Goods where GoodsName like '%{0}%'",name);
          SqlDataReader read = DBHelper.Read(sql);
          List<Models.GoodsModel> list = new List<Models.GoodsModel>();
          int zong = 0;
          while (read.Read())
          {
              Models.GoodsModel model = new Models.GoodsModel();
              model.GoodsID = read["GoodsID"].ToString();
              model.GoodsName = read["GoodsName"].ToString();
              model.GoodsPic = read["GoodsPic"].ToString();
              model.GoodsPrice = read["GoodsPrice"].ToString();
              model.GoodsStock = read["GoodsStock"].ToString();
              model.Xiaoji = (int.Parse(read["GoodsStock"].ToString()) * int.Parse(read["GoodsPrice"].ToString())).ToString();

              zong += int.Parse(read["GoodsStock"].ToString()) * int.Parse(read["GoodsPrice"].ToString());
              model.Zongji = zong.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 GoodsManger
    {

     public static List<Models.GoodsModel> ChaXun() {
         return DAL.GoodsService.ChaXun();
     }
     public static List<Models.GoodsModel> MoCha(string name) {
         return DAL.GoodsService.MoCha(name);
     }
    }
}

8、这个地方可以进行计算得出小计的数字

9、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>
        <asp:Label ID="Label1" runat="server" Text="Label">商品名称:</asp:Label><asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> 
        <asp:Button ID="Button1" runat="server" Text="按关键词查询" OnClick="Button1_Click" />
        <asp:Repeater ID="Repeater1" runat="server" OnItemCommand="Repeater1_ItemCommand">
            <HeaderTemplate>
                <table border="1px">
                    <tr>
                        <th>ID</th>
                         <th>商品名</th>
                         <th>图片</th>
                          <th>价格</th>
                         <th>库存</th>
                         <th>小计</th>
                         <th>操作</th>
                    </tr>
                
            </HeaderTemplate>
            <ItemTemplate>
                <tr>
                        <td><%#Eval("GoodsID") %></td>
                    <td><%#Eval("GoodsName") %></td>
                     <td><img height="50px" width="100px" src="Img/<%#Eval("GoodsPic")%>"/></td>
                     <td><%#Eval("GoodsPrice") %></td>
                     <td><%#Eval("GoodsStock") %></td>
                    
                  <td><%#Eval("Xiaoji") %></td>

                     <td><a href="#">删除</a></td>
                    </tr>
               
            </ItemTemplate>
            <FooterTemplate>
              
               
                </table>
           
            </FooterTemplate>


        </asp:Repeater>
           <asp:Label ID="Label2" runat="server" Text="Label"></asp:Label>
    </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 WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                Repeater1.DataSource=BLL.GoodsManger.ChaXun();
                Repeater1.DataBind();
            }
        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            Repeater1.DataSource = BLL.GoodsManger.MoCha(TextBox1.Text.ToString());
            Repeater1.DataBind();
        }

        protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
        {

        }
    }
}

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

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

相关文章

Vue3全家桶 - Vue3 - 【6】组件(注册组件 + 组件通信 + 透传属性和事件 + 插槽 + 单文件CSS + 依赖注入)

组件 一、 注册组件 1.1 ❌ 全局注册 目标文件&#xff1a;main.js&#xff1b;语法&#xff1a;import { createApp } from vue import App from ./App.vue const app createApp(App)// 全局注册 app.component(组件名字, 需要注册组件)app.mount(#app)缺陷&#xff1a; 全…

06-集合篇 面试题

1.算法复杂度分析 为什么要进行复杂度分析? 指导你编写出性能更优的代码评判别人写的代码的好坏分类: 时间复杂度分析空间复杂度分析/*** 求1~n的累加和 * @param n * @return*/ public int sum(int n) {int sum = 0;for (int i = 1; i <= n; i++) {sum = sum + i;}retur…

有线网络下windows电脑被投屏方案实践

最近在看使用笔记本屏幕作PC副屏的解决方案 无线网络Miracast 如果使用Win10/11自带的Miracast方案&#xff08;即windows系统中的&#xff1a;设置-系统-投影到此电脑&#xff09;&#xff0c;原则上需要通过Wi-Fi网络&#xff08;这是因为Miracast就是Wi-Fi联盟组织提出的&a…

Python 导入Excel三维坐标数据 生成三维曲面地形图(面) 2、线条平滑曲面但有间隔

环境和包: 环境 python:python-3.12.0-amd64包: matplotlib 3.8.2 pandas 2.1.4 openpyxl 3.1.2 scipy 1.12.0 代码: import pandas as pd import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D from scipy.interpolate import griddata im…

SSM整合项目(校验)

文章目录 1.前端校验1.需求分析2.HomeView.vue的数据池中添加校验规则3.HomeView.vue 绑定校验规则![image-20240311213428771](https://img-blog.csdnimg.cn/img_convert/7770bfa16814a0efd4eb818c9869a5bd.png)4.验证是否生效5.如果验证不通过&#xff0c;阻止用户提交表单1.…

中兴R5300G4无法识别全部硬盘与服务器Smart31002100RAID卡修改端口模式配置方法

中兴R5300G4无法识别全部硬盘&#xff0c;需要启动UEFI模式。 问题描述 硬盘配置RAID或者HBA直通模式需要修改RAID卡的端口模式。 本文介绍服务器分别在legacy、UEFI模式下的配置方法。 适用产品 R5300 G4、R5500 G4、R8500 G4 解决方案 一&#xff0e;Legacy启动模式&#x…

【深度学习】换脸新科技,InstantID: Zero-shot Identity-Preserving Generation in Seconds

论文&#xff1a;https://arxiv.org/abs/2401.07519 代码:https://github.com/InstantID/InstantID demo&#xff1a;https://huggingface.co/spaces/InstantX/InstantID 文章目录 1 引言2 相关工作2.1 文本到图像扩散模型2.2 主题驱动的图像生成2.3 保持ID的图像生成 3 方法3.…

【大厂AI课学习笔记NO.80】深度学习行业人才能力图谱

深度学习领域的就业岗位及所需关键技术、工具、能力分析 深度学习作为人工智能领域的一个重要分支&#xff0c;近年来得到了飞速的发展。随着技术的不断进步和应用场景的不断拓展&#xff0c;深度学习领域的就业岗位也日益增多。本文将从领军人才、产业研发人才、应用开发人才…

post为什么会发送两次请求?

post为什么会发送两次请求&#xff1f; 同源策略 在浏览器中&#xff0c;内容是很开放的&#xff0c;任何资源都可以接入其中&#xff0c;如 JavaScript 文件、图片、音频、视频等资源&#xff0c;甚至可以下载其他站点的可执行文件。但也不是说浏览器就是完全自由的&#xf…

STM32CubeMX教程---通用定时器_PWM_舵机角度控制

实验摘要&#xff1a; 通过舵机的角度控制&#xff0c;示范通用定时器如何输出PWM信号; 目录 一、舵机速读 二、舵机如何控制角度 三、CubeMX配置 &#xff08;TIM时基、PWM周期&#xff09; 四、Keil编写代码 &#xff08;启动TIM、输出PWM、改变PWM脉宽&#xff09; 五…

“antd“: Unknown word.cSpell

你遇到的问题是 VS Code 的 Code Spell Checker 插件在检查拼写时&#xff0c;将 "antd" 标记为未知单词。"antd" 是 Ant Design 的缩写&#xff0c;是一个流行的 React UI 库&#xff0c;不是一个英语单词&#xff0c;所以 Spell Checker 会将其标记为错误…

案例分析篇04:数据库设计相关28个考点(1~8)(2024年软考高级系统架构设计师冲刺知识点总结系列文章)

专栏系列文章推荐: 2024高级系统架构设计师备考资料(高频考点&真题&经验)https://blog.csdn.net/seeker1994/category_12601310.html 【历年案例分析真题考点汇总】与【专栏文章案例分析高频考点目录】(2024年软考高级系统架构设计师冲刺知识点总结-案例分析篇-…

智慧水务大数据,信息化云平台建设,综合运营管理平台

一、水务信息化的建设方向 1、完善基础设施构建软件定义的数据中心 基础设施&#xff0c;建设新一代软件定义的数据中心;逐步整合水务和海洋资源、统一、规范化各业务系统,按照一体化、一站式的服务进行建设。 2、整合信息资源建立智慧决策体系 统一信息采集方式&#xff0c;…

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:Menu)

以垂直列表形式显示的菜单。 说明&#xff1a; 该组件从API Version 9开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 Menu组件需和bindMenu或bindContextMenu方法配合使用&#xff0c;不支持作为普通组件单独使用。 子组件 包含MenuIt…

线性代数(一)——向量基础

向量基础 1、向量和线性组合2、向量的模和点乘3、矩阵4、参考 线性代数的核心是向量的加和乘两种运算的组合&#xff0c;本篇博客为线性代数的一个引子&#xff0c;主要从向量、线性组合和矩阵逐步引出线性代数的相关知识。 1、向量和线性组合 首先介绍的是向量相关&#xff0…

Python机器学习预测+回归全家桶,新增TCN,BiTCN,TCN-GRU,BiTCN-BiGRU等组合模型预测...

截止到本期&#xff0c;一共发了4篇关于机器学习预测全家桶Python代码的文章。参考往期文章如下&#xff1a; 1.机器学习预测全家桶-Python&#xff0c;一次性搞定多/单特征输入&#xff0c;多/单步预测&#xff01;最强模板&#xff01; 2.机器学习预测全家桶-Python&#xff…

HarmonyOS 关系型数据 整体测试 进行 初始化 增删查改 操作

好啊 前面的文章 HarmonyOS 数据持久化 关系型数据库之 初始化操作 HarmonyOS 数据持久化 关系型数据库之 增删改逻辑编写 HarmonyOS 数据持久化 关系型数据库之 查询逻辑编写 我们分别编写了 初始化数据库表 增删查改操作 的逻辑代码 那么 下面我们就来整体操作一下 然后 这…

科技云报道:两会热议的数据要素,如何拥抱新技术?

科技云报道原创。 今年全国两会上&#xff0c;“数字经济”再次成为的热点话题。 2024年政府工作报告提到&#xff1a;要健全数据基础制度&#xff0c;大力推动数据开发开放和流通使用&#xff1b;适度超前建设数字基础设施&#xff0c;加快形成全国一体化算力体系&#xff1…

【C语言】InfiniBand驱动mlx4_register_interface函数

一、讲解 mlx4_register_interface函数是Mellanox InfiniBand驱动程序的一部分&#xff0c;这个函数的作用是注册一个新的接口(intf)到InfiniBand设备。这允许不同的子系统&#xff0c;如以太网或存储&#xff0c;能够在同一个硬件设备上注册它们各自需要的接口&#xff0c;在…

Vue 中的 key:列表渲染的秘诀

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…