当前位置: 首页 > news >正文

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

目录

前言:

过程:

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.ClickTry'定义实体类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 TryEnd Sub

BLL层代码展示:

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

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

DAL层代码展示:

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

数据库的连接:

'连接数据的详细操作,DAL层通过调用,或者可以直接在DAL层中直接下载DAL层也可以
Public Class connectPublic Shared Function connstring() As Stringconnstring = "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"'执行SQLDim cmd As SqlCommand = New SqlCommand(sql, conn)cmd.Parameters.Add(New SqlParameter("@UserNo", selectuser.UserNo))'关闭数据库conn.Close()'返回消息Return cmdEnd Function

查询用户效果图:

总结:

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

相关文章:

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

目录 前言: 过程: UI层代码展示: BLL层代码展示: DAL层代码展示: 查询用户效果图:​ 总结: 前言: 想要对用户进行查询,需要用到控件DataGrideView,通过代码的形式将数据库表中的数据显示在DataGrideview控件中,不用对DatGridView控件…...

Django之路由层

文章目录 路由匹配语法路由配置注意事项转换器注册自定义转化器 无名分组和有名分组无名分组有名分组 反向解析简介普通反向解析无名分组、有名分组之反向解析 路由分发简介为什么要用路由分发?路由分发实现 伪静态的概念名称空间虚拟环境什么是虚拟环境&#xff1f…...

【06】VirtualService高级流量功能

5.3 weight 部署demoapp v10和v11版本 --- apiVersion: apps/v1 kind: Deployment metadata:labels:app: demoappv10version: v1.0name: demoappv10 spec:progressDeadlineSeconds: 600replicas: 3selector:matchLabels:app: demoappversion: v1.0template:metadata:labels:app…...

322. 零钱兑换

给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。 计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,返回 -1 。 你可以认为每种硬币的数量是无限的。 示…...

【大模型-第一篇】在阿里云上部署ChatGLM3

前言 好久没写博客了,最近大模型盛行,尤其是ChatGLM3上线,所以想部署试验一下。 本篇只是第一篇,仅仅只是部署而已,没有FINETUNE、没有Langchain更没有外挂知识库,所以从申请资源——>开通虚机——>…...

2023-11-14 mysql-主从复制-相关文档

摘要: 2023-11-14 mysql-主从复制-相关文档 官方文档: MySQL :: MySQL 8.0 Reference Manual :: 17 Replication MySQL :: MySQL 8.0 Reference Manual :: 18 Group Replication 相关参数: mysql> show variables like %repl%; +-----------------------------------------…...

ios 对话框 弹框,输入对话框 普通对话框

1 普通对话框 UIAlertController* alert [UIAlertController alertControllerWithTitle:"a" message:"alert12222fdsfs" pr…...

(论文阅读23/100)Hierarchical Convolutional Features for Visual Tracking

文献阅读笔记(分层卷积特征) 简介 题目 Hierarchical Convolutional Features for Visual Tracking 作者 Chao Ma, Jia-Bin Huang, Xiaokang Yang and Ming-Hsuan Yang 原文链接 arxiv.org/pdf/1707.03816.pdf 关键词 Hierarchical convolution…...

基于IGT-DSER智能网关实现GE的PAC/PLC与罗克韦尔(AB)的PLC之间通讯

工业自动化领域的IGT-DSER智能网关模块支持GE、西门子、三菱、欧姆龙、AB等各种品牌的PLC之间通讯(相关资料下载),同时也支持PLC与Modbus协议的工业机器人、智能仪表等设备通讯。网关有多个网口、串口,也可选择WIFI无线通讯。无需编程开发,只…...

创建符合 Web 可访问性标准的 HTML 布局

人们常说网络可访问性是当今万维网的“必须”。“Web 可访问性”一词定义了开发人员需要遵循的一组准则,以使残障人士和 Web 应用程序的交互更加方便。任何网站的内容、UI/UX 设计和布局都应该易于访问。在本文中,Logicify团队为 HTML/CSS 开发人员提供了…...

SQL学习(CTFhub)整数型注入,字符型注入,报错注入 -----手工注入+ sqlmap注入

目录 整数型注入 手工注入 为什么要将1设置为-1呢? sqlmap注入 sqlmap注入步骤: 字符型注入 手工注入 sqlmap注入 报错注入 手工注入 sqlmap注入 整数型注入 手工注入 先输入1 接着尝试2,3,2有回显,而3没有回显…...

数字人部署之VITS+Wav2lip数据流转处理以提高实时性

一、模型 VITS模型训练教程VITS-从零开始微调(finetune)训练并部署指南-支持本地云端 Wav2lip是2D数字人,可参考训练嘴型同步模型Wav2Lip PS:以上模型都是开源可用。 二. VITS数据处理问题 VITS模型的输出为一维的numpy类型数据&#xff…...

GPT 学习法:复杂文献轻松的完美理解、在庞大的不确性中找到确定性

GPT 学习法:复杂文献轻松的完美理解、在庞大的不确性中找到确定性 复杂文献 - 基础理解GPT 理解法 - 举例子、归纳、逻辑链推导本质、图示、概念放大器GPT 分析法 - 二分、矩阵、公式、要素、过程 做复杂题:在庞大的不确性中找到确定性思维追踪&#xff…...

前端简单的爱心形状

首先需要创建一个 HTML 文件&#xff0c;然后在其中添加 CSS 样式和 JavaScript 代码。以下是一个简单的示例&#xff1a; 创建一个名为 loveheart.html 的文件 <!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8"><…...

acwing算法基础之数学知识--求数a的欧拉函数值phi(a)

目录 1 基础知识2 模板3 工程化 1 基础知识 数a的欧拉函数 ϕ ( a ) \phi(a) ϕ(a)&#xff1a;表示1~n中与n互质的数的个数。其中两个数互质&#xff0c;是指这两个数的最大公约数为1。 根据定义&#xff0c;我们可以写出如下方法&#xff0c; int gcd(int a, int b) {retu…...

Jenkins的介绍与相关配置

Jenkins的介绍与配置 一.CI/CD介绍 &#xff11;.CI/CD概念 ①CI 中文意思是持续集成 (Continuous Integration, CI) 是一种软件开发流程&#xff0c;核心思想是在代码库中的每个提交都通过自动化的构建和测试流程进行验证。这种方法可以帮助团队更加频繁地交付软件&#x…...

开源网安受邀参加网络空间安全合作与发展论坛,为软件开发安全建设献计献策

​11月10日&#xff0c;在广西南宁举办的“2023网络空间安全合作与发展论坛”圆满结束。论坛在中国兵工学会的指导下&#xff0c;以“凝聚网络空间安全学术智慧&#xff0c;赋能数字经济时代四链融合”为主题&#xff0c;邀请了多位专家及企业代表共探讨网络安全发展与数字经济…...

arcgis提取栅格有效边界

方法一&#xff1a;【3D Analyst工具】-【转换】-【由栅格转出】-【栅格范围】 打开一幅栅格数据&#xff0c;利用【栅格范围】工具提取其有效边界&#xff08;不包含NoData值&#xff09;&#xff1a; 方法二&#xff1a;先利用【栅格计算器】将有效值赋值为1&#xff0c;得到…...

后端接口性能优化分析-问题发现问题定义

&#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是爱吃芝士的土豆倪&#xff0c;24届校招生Java选手&#xff0c;很高兴认识大家&#x1f4d5;系列专栏&#xff1a;Spring源码、JUC源码&#x1f525;如果感觉博主的文章还不错的话&#xff0c;请&#x1f44d;三连支持&…...

中国首个通过ASIL D认证的IP发布,国产芯片供应商的机会来了

来自智能汽车的“芯”安全需求正在快速爆发。 一方面&#xff0c;随着智能汽车ADAS的快速迭代与逐渐普及化&#xff0c;以及越来越多元化智能座舱功能的快速上车&#xff0c;由此带来的车辆信息安全场景也在与日俱增&#xff0c;例如云端链接、设备身份认证、自动驾驶安全保障…...

C++实现分布式网络通信框架RPC(3)--rpc调用端

目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中&#xff0c;我们已经大致实现了rpc服务端的各项功能代…...

微信小程序之bind和catch

这两个呢&#xff0c;都是绑定事件用的&#xff0c;具体使用有些小区别。 官方文档&#xff1a; 事件冒泡处理不同 bind&#xff1a;绑定的事件会向上冒泡&#xff0c;即触发当前组件的事件后&#xff0c;还会继续触发父组件的相同事件。例如&#xff0c;有一个子视图绑定了b…...

RocketMQ延迟消息机制

两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数&#xff0c;对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后&#xf…...

零基础设计模式——行为型模式 - 责任链模式

第四部分&#xff1a;行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习&#xff01;行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想&#xff1a;使多个对象都有机会处…...

CSS设置元素的宽度根据其内容自动调整

width: fit-content 是 CSS 中的一个属性值&#xff0c;用于设置元素的宽度根据其内容自动调整&#xff0c;确保宽度刚好容纳内容而不会超出。 效果对比 默认情况&#xff08;width: auto&#xff09;&#xff1a; 块级元素&#xff08;如 <div>&#xff09;会占满父容器…...

【笔记】WSL 中 Rust 安装与测试完整记录

#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统&#xff1a;Ubuntu 24.04 LTS (WSL2)架构&#xff1a;x86_64 (GNU/Linux)Rust 版本&#xff1a;rustc 1.87.0 (2025-05-09)Cargo 版本&#xff1a;cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...

接口自动化测试:HttpRunner基础

相关文档 HttpRunner V3.x中文文档 HttpRunner 用户指南 使用HttpRunner 3.x实现接口自动化测试 HttpRunner介绍 HttpRunner 是一个开源的 API 测试工具&#xff0c;支持 HTTP(S)/HTTP2/WebSocket/RPC 等网络协议&#xff0c;涵盖接口测试、性能测试、数字体验监测等测试类型…...

【MATLAB代码】基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),附源代码|订阅专栏后可直接查看

文章所述的代码实现了基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),针对传感器观测数据中存在的脉冲型异常噪声问题,通过非线性加权机制提升滤波器的抗干扰能力。代码通过对比传统KF与MCC-KF在含异常值场景下的表现,验证了后者在状态估计鲁棒性方面的显著优…...

tomcat入门

1 tomcat 是什么 apache开发的web服务器可以为java web程序提供运行环境tomcat是一款高效&#xff0c;稳定&#xff0c;易于使用的web服务器tomcathttp服务器Servlet服务器 2 tomcat 目录介绍 -bin #存放tomcat的脚本 -conf #存放tomcat的配置文件 ---catalina.policy #to…...

CVPR2025重磅突破:AnomalyAny框架实现单样本生成逼真异常数据,破解视觉检测瓶颈!

本文介绍了一种名为AnomalyAny的创新框架&#xff0c;该方法利用Stable Diffusion的强大生成能力&#xff0c;仅需单个正常样本和文本描述&#xff0c;即可生成逼真且多样化的异常样本&#xff0c;有效解决了视觉异常检测中异常样本稀缺的难题&#xff0c;为工业质检、医疗影像…...