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

桂林网站定制建设宁波网站推广厂家

桂林网站定制建设,宁波网站推广厂家,电子商务公司有什么职位,网站制作公司怎么样目录 前言#xff1a; 什么是三层 为什么要用到三层: 饭店→软件 理解: 过程: 1.三层包图: 2.数据库 3.三层项目 4.用户界面 5.添加引用 代码实现: Entity层 BLL层 DAL层 UI层 总结: 前言#xff1a; 什么是三层 三层就是把各个功能模块划分为表示层#…目录 前言 什么是三层 为什么要用到三层: 饭店→软件 理解: 过程: 1.三层包图: 2.数据库 3.三层项目 4.用户界面 5.添加引用 代码实现: Entity层 BLL层 DAL层 UI层 总结: 前言 什么是三层 三层就是把各个功能模块划分为表示层UI、业务逻辑层BLL和数据访问层DAL三层架构各层之间采用接口相互访问并通过对象模型的实体类Model作为数据传递的载体不同的对象模型的实体类一般对应于数据库的不同表实体类的属性与数据库表的字段名一致。 简单的点来说就是高内聚底耦合的思想不会牵一发而动全身。 为什么要用到三层: 生活中饭店的例子来举例大家可能会更理解一些。 服务员只管接待客人 :厨师只管烹炒客人要的菜系 :采购员只管按照客人的需求来采购食材 各司其职共同协作为客人提供美食 问题: 为什么要需要这三种角色为什么不合在一起每个角色的功能的是分离的举例: 服务员离职、请假→其他服务员代替 厨师离职→其他厨师代替 采购员离职→其他采购员代替 为什么能够替代每个人的功能是一致角色不行了替代就可以如果合在一起就不好找人了。 饭店→软件 理解: 三层从生活到软件不会因为谁的不在或离职从而工作停掉三层在软件中易是如此每个层都有特定的职责和功能不会因为需求改动从而需要修改整个系统只需改其中一层的的代码通过这种方式实现代码的模块化和维护性这就是所谓的三层 过程: 1.三层包图: 包图用于描述逻辑架构—层、子系统、包等所以拿包图在合适不过了。 2.数据库 3.三层项目 4.用户界面 5.添加引用 代码实现: Entity层 Public Class eUserLoginPrivate strUserNo As String 定义一个私有字段该字段的类型为StringPrivate strPassword As String Public Property Password() As StringGet 获取属性值Return strPassword 返回strPassword的字符串变量的值End Get 结束方法Set(value As String) 接收一个名为value的字符串类型的参数strPassword value 传递给StrPasswrod的字符串变量End Set 结束方法End PropertyPublic Property UserNo() As StringGetReturn strUserNoEnd GetSet(value As String)strUserNo valueEnd SetEnd Property End Class BLL层 Imports System.Xml Imports Login.DALPublic Class LoginBLLUserInfo用来承载登录时输入的用户名和密码全局实体Public Function login(ByVal UserInfo As Entity.eUserLogin) As Entity.eUserLogin实例化D层Dim dLogin As New Login.DAL.UserInfoDAL定义B层的返回实体Dim bUserInfo As New Entity.eUserLogin调用D层SelectUser方法bUserInfo dLogin.SelectUser(UserInfo) 执行一个名为SelectUser的方法并将其返回值赋给bUserInfo的布尔型变量If (bUserInfo.UserNo Is Nothing Or bUserInfo.Password Is Nothing) Then 判断bUserInfo.UserNo和bUserInfo.Password是否为空Throw New Exception(用户名或密码错误,请查看) True返回消息ElseMsgBox(登录成功请稍后, MsgBoxStyle.Information MsgBoxStyle.OkOnly, 提示)Return bUserInfo False 返回消息 End IfEnd Function End ClassDAL层 单建了一类来放数据库连接 Imports System.Data.SqlClientPublic Class LinkeDALPublic Shared Function connstring() As String连接数据库字符串connstring Server 192.168.96.71;Databasecybercafe;User IDsa;Password123456;End Function End Class Imports System.Data.SqlClient Imports Login Public Class UserInfoDALPublic Function SelectUser(UserInfo As Entity.eUserLogin) As Entity.eUserLoginDim conn As New SqlConnection(LinkeDAL.connstring)打开数据库conn.Open()创建一个名为reader的SqlDataReader对象(SqlDataReader)是一种.NET Framework中的数据读取器用于从Microsoft SQL Server数据库中读取数据 Dim reader As SqlDataReaderD层实例化执行查询后返回实体Dim duserInfo As New Entity.eUserLogin查询语句Dim sql As String Select * from User_Info where UserNoUserNo and PasswordPassword创建一个名为cmd的SqlCommand对象,并将其初始化指定的SQL语句和数据库连接对象。 SqlCommand是一个.NET Framework中的类用于执行SQL语句并返回查询结果Dim cmd As New SqlCommand(sql, conn)向SQL语句添加一个命名参数就将UserNo的参数添加一个值这个值来自一个名为UserInfo的对象 符作为参数的前缀可以让SQL语句更容易区分参数和普通参数的文本。同时符号可以让SQL语句更易于阅读和理解cmd.Parameters.Add(New SqlParameter(UserNo, UserInfo.UserNo))cmd.Parameters.Add(New SqlParameter(Password, UserInfo.Password))执行查询语句并将结果以DataReader对象的形式返回以供后续的数据处理和操作reader cmd.ExecuteReader()循环语句它会在SqlDataReader对象中有下一行数据时执行在每次循环中我们将使用SqlDataReader对象的一些方法(如GetString、GetInt32等)来获取当前行的数据并将其存储在相应的变量中。While (reader.Read())循环来逐行查询结果。每次循环中我们使用read.GetString()来获取查询结果中第一列的字符串并赋值给duseInfo对象的UserNo属性duserInfo.UserNo reader.GetString(0)duserInfo.Password reader.GetString1End WhileReturn duserInfoconn.Close() 关闭数据库 End Function End ClassUI层 Imports System.XmlPublic Class Form1Private Sub btnOK_Click(sender As Object, e As EventArgs) Handles btnOK.Click 单击事件Try实例化传实体的对象Dim UserInfo As New Entity.eUserLogin将用户名和密码放入实体文本框中的字符串去除空格并赋给实体对象UserInfo使实体对象能够带上参数UserInfo.UserNo txtUserName.Text.Trim()UserInfo.Password txtPassWord.Text.Trim()判断账号否为空If txtUserName.Text ThenMsgBox(用户名不能为空, MsgBoxStyle.Information MsgBoxStyle.OkOnly, 提示)ReturnEnd If判断密码是否为空If txtPassWord.Text ThenMsgBox(密码不能为空, MsgBoxStyle.Information MsgBoxStyle.OkOnly, 提示)ReturnEnd If定义一个最终的返回体returnUserInfo承接经过D层查询B层判断的登录信息实例化BLL层的对象Dim bLogin As New LoginBLL.LoginBLL调用B层的方法loginbLogin.login(UserInfo)Catch ex As Exception 处理异常的代码MessageBox.Show(ex.Message.ToString) 返回一个字符串表示异常的详细信息End Try 方法结束End SubPrivate Sub btnCancel_Click(sender As Object, e As EventArgs) Handles btnCancel.ClickEndEnd Sub End Class 总结: 对于三层的理解还不是很透彻还是需要多实践理论明白了并不代表真正意义上的明白。
http://www.dnsts.com.cn/news/216086.html

相关文章:

  • 写文案的网站网站开发总体功能设计
  • 网站页面排版企业网站管理后台
  • 揭阳网站建设模板收录批量查询工具
  • Html5做旅游网站的设计思路wordpress邮箱非必填
  • 创意经济型网站建设桂林市区有什么好玩的
  • 深圳网站设计必选成都柚米科技09做久久建筑网下载
  • 前端做网站需要学什么软件建设银行网站联系电话
  • 网站颜色搭配表wordpress 嵌入百度地图
  • 大连网站设计策划wordpress怎么修改文字大小
  • 汉中市网站建设公司怡美工业设计公司
  • 果洛wap网站建设网站建立的
  • 如何做服装的微商城网站vi设计公司成都
  • 企业做网站域名需要自己申请吗wordpress js验证码插件
  • 网站开发设计各部门职责网站的建设与维护实践报告
  • 龙岗网站建设上海自贸区注册公司有什么好处
  • 怎么做情侣网站室内设计学校网站
  • 国外网站开发现状一个网站开发团队要什么人
  • 做vi的网站网站建设框架图
  • ipad怎么制作网站网站建设模拟
  • 保定清苑城市建设网站有关网站建设的参考书
  • 网站权重接口网站描述代码
  • 2015年全球网站优秀设计师微网站开发的比较总结
  • 遵义市住房和城乡建设厅网站phpcms套好的网站 放到空间上 后台打开的验证码不能显示
  • 福建省建设执业资格注册管理中心网站优秀国外设计网站
  • 选图片的网站只做移动端的网站
  • 辽源建站公司做网站公司凡科
  • 新光途网站建设wordpress运营服务费用
  • 淘宝 网站建设 发货学编程的费用一般是多少
  • 宝塔建站详细教程用.net做的网站
  • cpa网站建设教程百度网站的安全建设方案