`

VB.NET 简单三层登录实例

    博客分类:
  • .NET
 
阅读更多
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
分享到:
评论

相关推荐

    三层登录实例(VB.NET版)

    这个是入门级的三层实例,通过实现简单的登录,来达到对三层的初步认识。若有疑问,欢迎来我的博客(http://blog.csdn.net/wlccomeon/article/details/8796857)进行交流~

    Vb.net三层架构

    介绍各层之间的如何调用。给出了关键代码.适合于新手快速入门

    VB.NET编程实例

    内容及其使用 ___________________________________________________...地 址:北京市海淀区知春路甲63号卫星大厦三层 邮政地址:北京中关村083信箱 邮 编:100080 网上书店:www.bhp.com.cn 电子邮件:lwm@hope.com.cn

    双鱼林图书管理系统(VB.net实现)

    程序使用语言: vb.net 基于winform三层设计! 基于三层模式开发! 使用了漂亮的皮肤界面,完美的分页显示!以图书信息为实例,包括图书编号,图书名称,图书类别,图书价格,图书库存,出版社,出版日期,图书图片...

    ASP.NET 2.0数据库与网络开发从入门到精通(VB.NET) 案例素材

    本书从ASP.NET 2.0架构与SQL Server 2000数据库的安装讲起,通过实用、简洁的实例来介绍Visual Basic.NET(书中简称VB.NET)的基础语法,使读者在使用ASP.NET 2.0开发Web应用和数据库程序前,具有扎实的语言基?...

    asp.net知识库

    实现C#和VB.net之间的相互转换 深入剖析ASP.NET组件设计]一书第三章关于ASP.NET运行原理讲述的补白 asp.net 运行机制初探(httpModule加载) 利用反射来查看对象中的私有变量 关于反射中创建类型实例的两种方法 ASP...

    图书管理系统VB

    程序使用语言: vb.net 基于winform三层设计! 基于三层模式开发! 使用了漂亮的皮肤界面,完美的分页显示! 以图书信息为实例,包括图书编号,图书名称,图书类别,图书价格,图书库存,出版社,出版日期,图书图片...

    图书管理系统源码20131204

    程序使用语言: vb.net 基于winform三层设计! 基于三层模式开发! 使用了漂亮的皮肤界面,完美的分页显示! 以图书信息为实例,包括图书编号,图书名称,图书类别,图书价格,图书库存,出版社,出版日期,图书图片 ...

    ASP.NET完全入门

    《ASP.NET完全入门》由浅入深,层层深入的讲解了ASP.NET技术,在本书中写作中,例子都使用了VB.NET的语法。所以,如果您对VB的语法或对ASP很熟悉的话,你将会发现很快就可以上手。 如果你精通别的编程语言, 通过对...

    asp.net完全入门

     第七篇 “高级应用”——在高级应用一篇中,我们将介绍三个方面的内容:XML在ASP.NET中的应用、三层结构及其应用、以及微软消息队列(MSMQ),这些是作为一个高级应用者所必需掌握的只是。 学习本书需要使用的...

    ASP.NET程序设计教程(PDF格式,第三部分/共三部分)

    随着internet的发展,网络...如果对vb的语法或对以前版本的asp很熟悉,本书将帮助这些读者成为掌握asp.net这一领先技术的人才。 本书主要面向初、中级用户,可作为大专院校及培训班的教材,也可供相关技术人员参考。

    《ASP.NET 完全入门》

     第七篇 “高级应用”——在高级应用一篇中,我们将介绍三个方面的内容:XML在ASP.NET中的应用、三层结构及其应用、以及微软消息队列(MSMQ),这些是作为一个高级应用者所必需掌握的只是。 学习本书需要使用的...

    ASP.NET程序设计教程(PDF格式,第一部分/共三部分)

    随着internet的发展,网络...如果对vb的语法或对以前版本的asp很熟悉,本书将帮助这些读者成为掌握asp.net这一领先技术的人才。 本书主要面向初、中级用户,可作为大专院校及培训班的教材,也可供相关技术人员参考。

    ASP.NET程序设计教程(PDF格式,第二部分/共三部分)

    随着internet的发展,网络...如果对vb的语法或对以前版本的asp很熟悉,本书将帮助这些读者成为掌握asp.net这一领先技术的人才。 本书主要面向初、中级用户,可作为大专院校及培训班的教材,也可供相关技术人员参考。

    Visual.Basic.2010.&.NET4.高级编程(第6版)-文字版.pdf

    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 ...

    C#源码大集合 02(共3卷)

    │ │ ├─第13讲 C#à VB.NET │ │ ├─第14讲 在SQL Server中存取图片 │ │ ├─第15讲 重启动远程计算机 │ │ ├─第16讲 访问Oracle数据库 │ │ └─第17讲 加行号 │ ├─第03部分 网络应用程序开发 │ │ ...

    arcgis开发宝典,从入门到精通

    全面系统地介绍了ArcGIS初、中、高级应用开发方法,并提供大量VC++、Delphi、Java、VB、C#、.NET应用系统开发实例。共分4篇:第一篇介绍准备知识和简单开发;第二、三篇是主体,分别介绍桌面/嵌入式地图应用开发和...

    JAVA上百实例源码以及开源项目源代码

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    LINQ 实战 1/11

    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...

Global site tag (gtag.js) - Google Analytics