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

在做完这四个功能之后感觉“查”是这四个功能里面算最简单的了,下面就来看看它是怎么实现的吧:

实体层,就不说了和前三个功能是一样的。

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

BLL层:

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

DAL层:

<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-12-22 10:22:37

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

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

因为之前机房重构无从下手,所以师父给我的建议是自己试着先敲三层的增.删.改.查,机房重构大都无非是围绕着对数据库的操作进行展开的.实事证明,师父是正确的.现如今敲完三层登录又在此基础上敲了三层的增删改查,顿时感觉对机房重构豁然开朗,嘿嘿! 由于三层登录增删改查这四块内容着实太多.经一番"苦思冥想"之后,决定将这些内容分别分为四块:增.删.改.查. 下面先向大家介绍"增": 首先是建立数据库,和之前一样这里就不再说明了. 接着就是代码的编写,如下: 实体层: <

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

上一篇介绍了"增",这一篇就来介绍下一法宝--"删" 实体层和上一篇一样,这里就不多说了. 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.UI层 首先是界面,还记得我们第一次添加的"王菲"的那条记录吗,今天我们就将它查出来 private void button1_Click(object sender, EventArgs e) { //实例化一个模型对象,用来向D层传递信息 Login.Model.UserInfo

Delphi XE 10 跨平台三层数据库应用教程

Delphi XE 10 跨平台三层数据库应用教程 前言: Delphi XE 开始越来越庞大,比经典的Delphi7难用,但依然是目前所有跨平台开发工具中开发效率最高.最容易上手的,其快速设计RAD理念是无与伦比的符合人性(什么?是懒惰). 目前网上XE10类似教程很少,而且学习途中遇到一些问题就难以继续了,经本菜鸟千辛万苦的求索,特推出Delphi XE 10系列教程. 三层数据库应用是目前最简单.方便.易扩展的架构,而跨平台应用又是所谓的“互联网+”最需要的,下面的教程分服务器端和客户端两

【Hibernate】Hibernate的在Eclipse+Mysql的配置、安装,纯Java,利用Annotation与HQL完成数据库的增删改查

这篇文章有很多槽点,在Hibernate4.x上面用着Hibernate3.x的写法去写.而且程序中放到Eclipse中会有一大堆警告,但是这好歹也在一定程度上完成了Hibernate的入门.毕竟现在很多介绍Hibernate的书籍都是用Hibernate3.x的写法去写.上次那篇<[Hibernate]最简单的Hibernate工程--账号注册系统>(点击打开链接)杂糅Struts的技术其实是不对的.因为Hibernate完成的是,从Java到数据库,从数据库到Java的任务.之后Java与

android中SQLite数据库的增删改查

1.数据库帮助类PersonSQLiteOpenHelper package com.wzw.sqllitedemo.db; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase.CursorFactory; import android.database.sqlite.SQLiteOpenHelper

Windows下安装MySQLdb, Python操作MySQL数据库的增删改查

这里的前提是windows上已经安装了MySQL数据库,且配置完毕,能正常建表能操作.在此基础上只需安装MySQL-python-1.2.4b4.win32-py2.7.exe就ok了,只有1M多.这个有点类似jdbc里的那个jar包. 下载链接:http://sourceforge.net/projects/mysql-python/ , 百度云盘 :http://pan.baidu.com/s/1dDgnfpR 密码:7bna 接着import MySQLdb就能使用了,下面给出测试代码:

TP框架中 数据库的增删改查

框架会用到数据库的内容,这一篇就是关于数据库的增删改查. 数据库的操作,无疑就是连接数据库,然后对数据库中的表进行各种查询,然后就是对数据的增删改的操作, 想要操作数据库,第一步必然是要:链接数据库 一.链接数据库 (1)找到模块文件夹中的Conf文件夹,然后进行编写config.php文件 我这里是这样的文件路径 (2)打开这个config.php文件,然后找到父类配置文件convention.php文件,将关于"数据库"的部分复制粘贴到config.php配置文件中(父类的conv