VB.NET三层之用户查询窗体

news2025/2/22 13:14:56

目录

前言:

过程:

UI层代码展示:

BLL层代码展示:

DAL层代码展示:

查询用户效果图:​

总结:


前言:

想要对用户进行查询,需要用到控件DataGrideView,通过代码的形式将数据库表中的数据显示在DataGrideview控件中,不用对DatGridView控件进行任何的操作,如果需要操作大家可以看看这一篇文章有详细的讲解:DataGrideView:操作讲解
在这里面也运用了分层的思想,从中也体会到分层的好处:

分层好处
单一职责:每一层之负责一个职责,职责边界清晰,不会照成跨级调用。
高内聚分层是把相同的职责放在同一层中,所有业务的逻辑聚在BLL层。
低耦合:依赖关系非常简单,上层只能依赖于下层,没有循环依赖。
易维护:面对业务的修改或者变动更容易修改。那层出现错误就修改那层
易复用:功能模块变动了,只需调整相应的功能模块

过程:

在开始的时候需要进行引用,这样我们才能相互的调用,在这里截出一个UI层引用的界面,其他层也是一样,找到引用进行添加。

1.UI右(BLL层,DAL层),BLL→(DAL层,实体层),DAL→(实体层)

2.界面的展示,其他控件可以根据自己的需求进行添加:

UI层代码展示:

UI层负责设计和实现,将数据从应用程序传递给用户,并接受用户的输入。页面的显示,比如各种应用的平台,微信,淘宝,面向用户的界面接受用户的输入就是UI层

    Public Sub Button1_Click(sender As Object, e As EventArgs) Handles BtnOK.Click
        Try
            '定义实体类
            Dim selectUser As New Entity.Usersurface
            '赋值
            selectUser.UserNo = TxtUserNo.Text
            '实例化B层
            Dim aselect As New BLL.UserBLL
            '清除文本框中的数据
            TxtUserNo.Clear()
            '调用D层的方法
            DataGridView1.DataSource = aselect.selectBAL(selectUser)
            '异常处理语句块,用于捕获Try块中抛出的异常
        Catch ex As Exception
            '处理异常信息显示在文本框中
            MessageBox.Show(ex.Message.ToString)
        End Try
    End Sub

BLL层代码展示:

BLL负责处理应用程序的业务逻辑,包括数据的验证,计算,逻辑处理。用户是看不到的,进行逻辑上的判断。

 Public Function selectBAL(selectUser As Entity.Usersurface) As DataTable
     '实例化
     Dim sqlcommnd As New SqlCommand
     '实例化D层
     Dim aselect As New DAL.UserDAL
     Dim dst As New DataSet
     Dim dt As New DataTable
     Dim dataAdapter As New SqlDataAdapter
     sqlcommnd = aselect.selectDAL(selectUser)
     dataAdapter.SelectCommand = sqlcommnd
     'Fill用于将数据填充到DataSet或DataTable中
     dataAdapter.Fill(dst, "User")
     dt = dst.Tables("User")
     Return dt
 End Function

DAL层代码展示:

DAL负责管理应用程序的数据存储和访问,包括对数据库的读取、写入、更新、删除、等等
数据访问层通过包括数据访问组件、数据访问对象,简单的来说就是跟数据库进行打交道。

数据库的连接:

'连接数据的详细操作,DAL层通过调用,或者可以直接在DAL层中直接下载DAL层也可以
Public Class connect
    Public Shared Function connstring() As String
        connstring = "Server= .;Database=cybercafe;User ID=sa;Password=123456;"
    End Function
End Class

DAL层详细代码:

    Public Function selectDAL(selectuser As Entity.Usersurface) As SqlCommand
        '定义实体类
        '连接数据库
        Dim conn As New SqlConnection(connect.connstring)
        '打开数据库
        conn.Open()
        '数据库查询
        Dim sql As String = "SELECT * FROM User_info Where UserNo=@UserNo"
        '执行SQL
        Dim cmd As SqlCommand = New SqlCommand(sql, conn)
        cmd.Parameters.Add(New SqlParameter("@UserNo", selectuser.UserNo))
        '关闭数据库
        conn.Close()
        '返回消息
        Return cmd
    End Function

查询用户效果图:

总结:

想要掌握三层需要学习其概念、特点和应用,并通过实现不断加深理解和改进。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

关于财税体制什么是扁平化?三级财政西方的龙骑兵FIBW 10道练习题第五题

目录 关于财税体制什么是扁平化? 三级财政 西方的龙骑兵 FIBW 10道练习题 第五题 关于财税体制什么是扁平化? 在财税领域,"扁平化"(Flattening)通常指的是简化税收结构,减少税种和税率的层…

深度学习 YOLO 实现车牌识别算法 计算机竞赛

文章目录 0 前言1 课题介绍2 算法简介2.1网络架构 3 数据准备4 模型训练5 实现效果5.1 图片识别效果5.2视频识别效果 6 部分关键代码7 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 基于yolov5的深度学习车牌识别系统实现 该项目较…

【Liunx】DHCP服务

【Liunx】DHCP服务 DHCP概述A.安装dhcpB.查看配置文件C.修改配置文件 DHCP概述 DHCP(Dynamic Host Configuration Protocol)i动态主机配置协议 DHCP是由Internet工作任务小组设计开发的,专门用于为TCP/IP网络中的计算机自动分配TCP/IP参数的协议。 口使用DHCP服务的…

YOLOv5算法进阶改进(3)— 引入深度可分离卷积C3模块 | 轻量化网络

前言:Hello大家好,我是小哥谈。深度可分离卷积是一种卷积神经网络中的卷积操作,它可以将标准卷积分解为两个较小的卷积操作:深度卷积和逐点卷积。深度卷积是在每个输入通道上分别执行卷积,而逐点卷积是在所有通道上执行卷积。这种分解可以大大减少计算量和参数数量,从而提…

在 HarmonyOS 上实现 ArkTS 与 H5 的交互

介绍 本篇 Codelab 主要介绍 H5 如何调用原生侧相关功能,并在回调中获取执行结果。以“获取通讯录”为示例分步讲解 JSBridge 桥接的实现。 相关概念 Web组件:提供具有网页显示能力的 Web 组件。 ohos.web.webview:提供 web 控制能力。 …

【vue实战项目】通用管理系统:封装token操作和网络请求

目录 1.概述 2.封装对token的操作 3.封装axios 1.概述 前文我们已经完成了登录页: 【vue实战项目】通用管理系统:登录页-CSDN博客 接下来我们要封装一下对token的操作和网络请求操作。之所以要封装这部分内容是因为token我们登陆后的所有请求都要携…

lamp环境搭建(kali,docker,ubuntu)

学了微专业,然后第一节课是学的搭建自己的环境,这里记录一下吧。 搭建一个lamp环境 (因为本人使用的是kali而且还带有集成环境的xampp,本身就自带了apache2,mysql和php。)后面有用ubuntu从0开始搭建的。 在kali环境下: 1.首先查看apache2和mysql和php 查看apache2 where…

二、Linux用户管理

Linux是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须向系统管理员申请一个账户,然后用这个账户进入系统。 每个Linux用户至少属于一个用户组。 用户家目录home下,有各个用户分别创建的家目录&#xf…

全域全自主建设,亚信科技AntDB数据库助力广电5G业务上线运行

自2019年6月,中国广电成功获得5G牌照以来,迅速推进网络建设目标,成为5G网络覆盖广、应用场景多、用户体验出色的第四大运营商。其依托全球独有的700MHz频谱资源,具备覆盖能力强、容量足、速率高的优势。通过不断深化和中国移动的共…

进行 “最佳价格查询器” 的开发(多种并行方式的性能比较)

前置条件 public class Shop {private final String name;private final Random random;public Shop(String name) {this.name name;random new Random(name.charAt(0) * name.charAt(1) * name.charAt(2));}public double getPrice(String product) {return calculatePrice…

让AI拥有人类的价值观,和让AI拥有人类智能同样重要

编者按:2023年是微软亚洲研究院建院25周年。25年来,微软亚洲研究院探索并实践了一种独特且有效的企业研究院的新模式,并以此为基础产出了诸多对微软公司和全球社会都有积极影响的创新成果。一直以来,微软亚洲研究院致力于创造具有…

python中的切片操作

切片操作: 1.切片操作是访问元素序列的另一种方法,它可以访问一定范围内的元素。通过切片操作形成一个新序列 语法结构: 序列【start:end:step】 参数说明: start:表示切片的开始位置&#x…

027 - STM32学习笔记 - ADC初识(一)

026- STM32学习笔记 - ADC初识(一) 前几天不小心把板子掉地上了,液晶屏摔坏了,暂时先停一下液晶屏的学习,等新的板子来了再继续学习。 一、ADC介绍 ADC指的是Analog to Digital Converter(模数转换器&…

​2005/2008-2022逐年道路网分布数据

道路网(road network)指的是在一定区域内,由各种道路组成的相互联络、交织成网状分布的道路系统。全部由各级公路组成的称公路网。在城市范围内由各种道路组成的称城市道路网。 城市道路网由城镇管辖范围内的各种不同功能的干道和区域…

Collectors.groupingBy方法的使用

Collectors.groupingBy方法的使用 简单使用 业务场景:现在有5个人,这些人都年龄分部在18-30岁之间。现要求把他们按照年龄进行分组 key:年龄 value:数据列表 package com.liudashuai;import java.util.Arrays; import java.uti…

2020年五一杯数学建模C题饲料混合加工问题解题全过程文档及程序

2020年五一杯数学建模 C题 饲料混合加工问题 原题再现 饲料加工厂需要加工一批动物能量饲料。饲料加工需要原料,如加工猪饲料需要玉米、荞麦、稻谷等。加工厂从不同的产区收购了原料,原料在收购的过程中由于运输、保鲜以及产品本身属性等原因&#xff…

windows服务器热备、负载均衡配置

安装网络负载平衡 需要加入的服务器上全部需要安装网络负载平衡管理器 图形化安装:使用服务器管理器安装 在服务器管理器中,使用“添加角色和功能”向导添加网络负载均衡功能。 完成向导后,将安装 NLB,并且不需要重启计算机。 …

Unity Hub无法登陆的两种终极解决办法

最近换了个电脑,需要重装Unity, 然后unity hub 怎么都无法登陆,登陆不了就不能激活personal license。试了很多次,包括unity hub 2.5.8 和unity hub 3.3都不行,真的是很崩溃。因为是公司的电脑,限制比较多&…

【系统安装】ubuntu20.04启动盘制作,正经教程,小白安装教程,百分百成功安装

1.所需材料: 64GBU盘(其实8g和16g也可以) 2.制作U盘启动盘 使用windows制作ubuntu 20.04启动盘 1)下载制作工具:Rufus:Rufus - 轻松创建 USB 启动盘 2)插入用来做启动盘的U盘 3&#xff0…

nodejs+vue+python+PHP+微信小程序-安卓- 电影在线订票系统的设计与实现-计算机毕业设计推荐

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性:…