三层数据库四大法宝之“增”

因为之前机房重构无从下手,所以师父给我的建议是自己试着先敲三层的增、删、改、查,机房重构大都无非是围绕着对数据库的操作进行展开的。实事证明,师父是正确的。现如今敲完三层登录又在此基础上敲了三层的增删改查,顿时感觉对机房重构豁然开朗,嘿嘿!

由于三层登录增删改查这四块内容着实太多。经一番“苦思冥想”之后,决定将这些内容分别分为四块:增、删、改、查。

下面先向大家介绍“增”:

首先是建立数据库,和之前一样这里就不再说明了。

接着就是代码的编写,如下:

实体层:

<span style="font-family:KaiTi_GB2312;font-size:24px;">''' <summary>
''' 实体层,存放多种属性
''' </summary>
''' <remarks></remarks>
Public Class User
    '定义UserName属性
    Private _UserName As String
    Public Property UserName As String
        Get
            Return _UserName
        End Get

        Set(value As String)
            _UserName = value
        End Set
    End Property

    '定义PassWord属性
    Private _PassWord As String '
    Public Property PassWord As String
        Get
            Return _PassWord
        End Get

        Set(value As String)
            _PassWord = value
        End Set
    End Property

End Class
</span>

U层:

<span style="font-family:KaiTi_GB2312;font-size:24px;">Public Class Form1
    '查询

    Private Sub btnLogin_Click(sender As Object, e As EventArgs) Handles btnSelect.Click
        Try
            '获得表现层的数据
            Dim muser As New LoginMODEL.User              '实例化一个新的实体,用来传递B层的实体
            muser.UserName = txtUserName.Text.Trim           '将用户名传递给实体层的UserName
            muser.PassWord = txtPassWord.Text.Trim            '将密码传递给实体层的PassWord

            '调用B层,登录判断
            Dim mgr As New LoginBLL.SelectBLL
            muser = mgr.SelectBLL(muser)

        Catch ex As Exception
            MessageBox.Show(ex.Message.ToString())              '错误处理
        End Try
    End Sub

End Class
</span>

B层:

<span style="font-family:KaiTi_GB2312;font-size:24px;">'查
Public Class SelectBLL
    Public Function SelectBLL(ByVal User As LoginMODEL.User) As LoginMODEL.User
        Dim uDao As New LoginDAL.SqlserverUser()               '实例化D层中新的UserDAO对象
        Dim mUser As LoginMODEL.User                  '定义一个类型为实体层参数,用户赋值

        mUser = uDao.SelectDAL(User)

        '判断是否查询到记录
        If IsNothing(mUser.UserName) Then
            Throw New Exception("查询失败,请检查用户名和密码!")          '没有记录
        Else
            MsgBox("查询成功,恭喜!", , "提示框")         '有记录
        End If
        Return mUser            '返回实体
    End Function
End Class</span>

D层:

<span style="font-family:KaiTi_GB2312;font-size:24px;">' 引用命名空间
Imports System.Data
Imports System.Data.SqlClient
Imports LoginMODEL

'D层,主要是对原始数据(数据库或者文本文件等存放数据的形式)的操作层,需要引用实体层
'查
Public Class SqlserverUser
    Public conn As New SqlConnection("server=ZY-PC;database=Login;user id=sa;password =1")          '创建数据库的连接
    Public Function SelectDAL(ByVal User As User) As LoginMODEL.User         '传实体Login,方便对实体中的参数进行调用
        Dim reader As SqlDataReader         '定义类型为SQLDATAREADER的变量reader
        Dim mUser As New LoginMODEL.User
        Dim sql As String = "select UserName,passWord from T_Users where [email protected] and [email protected]" '数据库查询语句
        Dim cmd As New SqlCommand(sql, conn)        '创建sqlcommand对象
        cmd.CommandText = sql                       '获取SQL语句的具体内容
        cmd.CommandType = CommandType.Text           '获取上述SQL语句的具体类型
        cmd.Parameters.Add(New SqlParameter("@UserName", User.UserName))
        cmd.Parameters.Add(New SqlParameter("@PassWord", User.PassWord))
        conn.Open()        '打开数据连接
        reader = cmd.ExecuteReader()              '执行查询语句,并生成一个DataReader

        '读取查询到的数据,并返回给相应的属性
        While reader.Read()
            mUser.UserName = reader.GetString("UserName")            '给@UserName赋值
            mUser.PassWord = reader.GetString("PassWord")            '给@PassWord赋值
        End While
        Return mUser               '返回查询到的实体
        conn.Close()              '关闭连接

    End Function

End Class</span>
时间: 2024-10-12 21:06:57

三层数据库四大法宝之“增”的相关文章

三层数据库四大法宝之“查”

在做完这四个功能之后感觉"查"是这四个功能里面算最简单的了,下面就来看看它是怎么实现的吧: 实体层,就不说了和前三个功能是一样的. UI层: <span style="font-family:KaiTi_GB2312;font-size:24px;">Public Class Form1 '查询 Private Sub btnLogin_Click(sender As Object, e As EventArgs) Handles btnSelect.C

三层数据库四大法宝之“删”

上一篇介绍了"增",这一篇就来介绍下一法宝--"删" 实体层和上一篇一样,这里就不多说了. U层: Public Class Form1 '删除 Private Sub btnDelete_Click(sender As Object, e As EventArgs) Handles btnDelete.Click Try '获得表现层的数据 Dim muser As New LoginMODEL.User '实例化一个新的实体,用来传递B层的实体 muser.Us

三层数据库四大法宝之“改”

在改这个功能中我用到了两个窗体,一个用来获取原来的用户号,另一个用来获取现在的密码,下面我就来详细说明一下: 同样,实体层: <span style="font-family:KaiTi_GB2312;font-size:24px;">''' <summary> ''' 实体层,存放多种属性 ''' </summary> ''' <remarks></remarks> Public Class User '定义UserName

三层架构与四大天王之——增

1.上集回顾   上篇文章我们介绍了三层架构的运行机制,其中包含了对实体类的理解,而后又以简单的登录为例展示了一下,接下来就让我们看看三层架构与"四大天王"的交互. 所谓的四大天王也就是对数据的四大操作--增.删.改.查,这四个功能是最基本,也是最主要的.那么,下面我们就来展示一下如何利用三层向数据库中增加数据.    2.增        (1)UI层         首先是由用户向U层输入要添加的数据                                   以下是确认添

Android中使用Sqlite数据库 (二) 增删改查

定义接口 package com.example.android_db.service; import java.util.List; import java.util.Map; public interface PersonService { public boolean addPerson(Object[] params); public boolean deletePerson(Object[] params); public boolean updatePerson(Object[] p

20140625三层架构实现产品的增删改查

产品的增删改查 l  Model: Products.cs     public class Products     {         public System.Guid Id { get; set; }         public System.String Name { get; set; }         public System.String ImagePath { get; set; }         public System.String Msg { get; set

SQL Server数据库表重置自增主键号(通常是指ID)

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86

【ASP】ASP对Access数据库的连接、增删改查及ASP的基本语法

本文讨论的是ASP,而不是Visual Studio写出来的.ASPX也就是ASP.NET. ASP不需要任何插件的支持,关键你是配置好WINDOWS的IIS服务器,把页面扔在上面执行就可以了. 不同WINDOWS系统的IIS服务器配置,除了某些被阉割的WINXP装机版系统之外,都支持IIS服务器配置,都在WINDOWS的组件中,不需要下载任何东西.如何配置IIS服务器不是本文讨论的重点. 一.基本目标 假设Access2007数据库database.mdb中存在表test如下: id为自增列,

java H2数据库使用并实现增删改查功能

原文:java H2数据库使用并实现增删改查功能 代码下载地址:http://www.zuidaima.com/share/1550463278058496.htm package com.zuidaima.h2sql.test; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.St