http://blog.csdn.net/wangxuhebeibd/article/details/9104383
三层实例是以传实体层中的实体为例子的。UI层引用BLL层和Entity层,BLL层引用DAL层和Entity层,DAL层引用Entity层。
实体层(Entity)创建数据库中的实体类名称为EntityUserinfo。
BLL层创建名称为LoginBLL的类库,DAL层创建名称为LoginDAL的类库。
Public Class EntityUserInfo
'定义两个私有属性
Private id As String
Private password As String
'定义属性过程,通过属性过程,允许他的类访问该属性
Public Property UserID() As String
Get
Return id
End Get
Set(value As String)
id = value
End Set
End Property
Public Property PWD() As String
Get
Return password
End Get
Set(value As String)
password = value
End Set
End Property
End Class
UI层:(用户界面,接收和现实数据)
Public Class FrmLogin
Private Sub btnOK_Click(sender As Object, e As EventArgs) Handles btnOK.Click
'实例化 传 实体的 对象 userinfo
Dim userinfo As New Entity.EntityUserInfo
'实例化 BLL层 的对象 loginbll
Dim LoginBll As New BLL.LoginBLL
'将文本框中的字符串赋值给 实体对象 userinfo ,使实体对象能够带上参数
userinfo.UserID = txtUserName.Text.ToString
userinfo.PWD = txtPassword.Text.ToString
'实例化一个实体层 的 model 对象
Dim model As New Entity.EntityUserInfo
'调用BLL层的方法(返回值为 实体对象,所有上面定义一个 实体对象model)
'通过调用Bll层的方法,返回实体对象,比较model的属性是否与文本框一致
model = LoginBll.UserLogin(userinfo)
If model.UserID = txtUserName.Text And model.PWD = txtPassword.Text Then
Me.Hide()
Applycation.Show()
Else
MessageBox.Show("登陆失败")
End If
End Sub
BLL层:(业务逻辑层,调用DAL层的方法,被UI层调用 即连接UI层和DAL 层)
Imports Entity.EntityUserInfo
Imports DAL.LoginDAL
Public Class LoginBLL
'定义一个函数方法 userlogin 传递的参数为 实体层类型的变量 model 返回值为 一个实体
Public Function UserLogin(ByVal model As Entity.EntityUserInfo) As Entity.EntityUserInfo
'定义DAL层 的 对象LoginDAL
Dim LoginDAL As New DAL.LoginDAL
'定义实体层 对象 userinfo
Dim userinfo As New Entity.EntityUserInfo
'调用DAL层的方法,返回 实体
userinfo = LoginDAL.selectuser(model)
Return userinfo
End Function
End Class
DAL 层(数据访问层,实现数据库的连接)
Imports System.Data.SqlClient
Imports System.Data
Imports Entity.EntityUserInfo
Public Class LoginDAL
'数据库连接,将数据库连接定义为构造函数,当实例化 LoginDAL 的时候,自动完成数据库连接
Dim str As String = "server=.;database=Charge_System;integrated security=sspi" '这里字符串用的是windows 验证方式,所有不需要用户名和密码的操作。
Dim conn As New SqlConnection(str)
'在数据库中查询数据,执行命令语句
Public Function selectuser(ByVal model As Entity.EntityUserInfo) As Entity.EntityUserInfo
'连接数据库
conn.Open()
Dim sql As String = "select * from T_Users where UserID= '" & model.UserID & " ' and PWD= '" & model.PWD & "'"
Dim cmd As New SqlCommand(sql, conn)
'定义一个 SqlDataReader 类型的变量 reader
Dim reader As SqlDataReader
reader = cmd.ExecuteReader() '由于cmd 对象的属性 EcecuteReader 返回之是一个DataReader,所以只能定义一个Datareader类型的变量来接收数据。
'实例化一个实体层的对象 userinfo
Dim userinfo As New Entity.EntityUserInfo
'reader.read 的返回值为true 执行给 userinfo 的属性赋值操作
While (reader.Read())
userinfo.UserID = reader.GetString(0)
userinfo.PWD = reader.GetString(1)
End While
'返回 实体对象 userinfo
Return userinfo
End Function
End Class
分享到:
相关推荐
这个是入门级的三层实例,通过实现简单的登录,来达到对三层的初步认识。若有疑问,欢迎来我的博客(http://blog.csdn.net/wlccomeon/article/details/8796857)进行交流~
介绍各层之间的如何调用。给出了关键代码.适合于新手快速入门
内容及其使用 ___________________________________________________...地 址:北京市海淀区知春路甲63号卫星大厦三层 邮政地址:北京中关村083信箱 邮 编:100080 网上书店:www.bhp.com.cn 电子邮件:lwm@hope.com.cn
程序使用语言: vb.net 基于winform三层设计! 基于三层模式开发! 使用了漂亮的皮肤界面,完美的分页显示!以图书信息为实例,包括图书编号,图书名称,图书类别,图书价格,图书库存,出版社,出版日期,图书图片...
本书从ASP.NET 2.0架构与SQL Server 2000数据库的安装讲起,通过实用、简洁的实例来介绍Visual Basic.NET(书中简称VB.NET)的基础语法,使读者在使用ASP.NET 2.0开发Web应用和数据库程序前,具有扎实的语言基?...
实现C#和VB.net之间的相互转换 深入剖析ASP.NET组件设计]一书第三章关于ASP.NET运行原理讲述的补白 asp.net 运行机制初探(httpModule加载) 利用反射来查看对象中的私有变量 关于反射中创建类型实例的两种方法 ASP...
程序使用语言: vb.net 基于winform三层设计! 基于三层模式开发! 使用了漂亮的皮肤界面,完美的分页显示! 以图书信息为实例,包括图书编号,图书名称,图书类别,图书价格,图书库存,出版社,出版日期,图书图片...
程序使用语言: vb.net 基于winform三层设计! 基于三层模式开发! 使用了漂亮的皮肤界面,完美的分页显示! 以图书信息为实例,包括图书编号,图书名称,图书类别,图书价格,图书库存,出版社,出版日期,图书图片 ...
《ASP.NET完全入门》由浅入深,层层深入的讲解了ASP.NET技术,在本书中写作中,例子都使用了VB.NET的语法。所以,如果您对VB的语法或对ASP很熟悉的话,你将会发现很快就可以上手。 如果你精通别的编程语言, 通过对...
第七篇 “高级应用”——在高级应用一篇中,我们将介绍三个方面的内容:XML在ASP.NET中的应用、三层结构及其应用、以及微软消息队列(MSMQ),这些是作为一个高级应用者所必需掌握的只是。 学习本书需要使用的...
随着internet的发展,网络...如果对vb的语法或对以前版本的asp很熟悉,本书将帮助这些读者成为掌握asp.net这一领先技术的人才。 本书主要面向初、中级用户,可作为大专院校及培训班的教材,也可供相关技术人员参考。
第七篇 “高级应用”——在高级应用一篇中,我们将介绍三个方面的内容:XML在ASP.NET中的应用、三层结构及其应用、以及微软消息队列(MSMQ),这些是作为一个高级应用者所必需掌握的只是。 学习本书需要使用的...
随着internet的发展,网络...如果对vb的语法或对以前版本的asp很熟悉,本书将帮助这些读者成为掌握asp.net这一领先技术的人才。 本书主要面向初、中级用户,可作为大专院校及培训班的教材,也可供相关技术人员参考。
随着internet的发展,网络...如果对vb的语法或对以前版本的asp很熟悉,本书将帮助这些读者成为掌握asp.net这一领先技术的人才。 本书主要面向初、中级用户,可作为大专院校及培训班的教材,也可供相关技术人员参考。
Visual.Basic.2010.&.NET4.高级编程(第6版)-文字版.pdf 第I部分 语言结构和环境 第1章 visual studio 2010 3 1.1 visual studio 2010:从express到ultimate的各种版本 4 1.2 visual basic的关键字和语法 7 ...
│ │ ├─第13讲 C#à VB.NET │ │ ├─第14讲 在SQL Server中存取图片 │ │ ├─第15讲 重启动远程计算机 │ │ ├─第16讲 访问Oracle数据库 │ │ └─第17讲 加行号 │ ├─第03部分 网络应用程序开发 │ │ ...
全面系统地介绍了ArcGIS初、中、高级应用开发方法,并提供大量VC++、Delphi、Java、VB、C#、.NET应用系统开发实例。共分4篇:第一篇介绍准备知识和简单开发;第二、三篇是主体,分别介绍桌面/嵌入式地图应用开发和...
Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...
13.2.1 回顾传统的三层架构 362 13.2.2 用专门的数据访问层还是LINQ to SQL 364 13.2.3 LinqBooks中对LINQ to SQL的使用 368 13.3 LINQ to XML的使用 374 13.3.1 从Amazon中导入数据 374 13.3.2 生成RSS...