DAL层配合基类的代码记录

2024-01-14 01:32
文章标签 代码 记录 基类 配合 dal

本文主要是介绍DAL层配合基类的代码记录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

    这是我第二遍做机房收费系时的DAL层配合基类的代码

    DAL层的代码:

Imports System.Data.SqlClient
Imports Entity

Public Class da_User

    '继承da_Base基类
    Inherits da_Base
    '连接数据库
    Private connStr As String = System.Configuration.ConfigurationSettings.AppSettings("connStr")

    ''' <summary>
    ''' 获得一个用户信息
    ''' </summary>
    ''' <param name="UserID">用户ID</param>
    ''' <returns>一个用户对象</returns>
    ''' <remarks>2011/3/22 11:27 By NOVAGang</remarks>

    Public Function GetObject(ByVal UserID As String) As Entity.user_Info

        Dim sql As String = "select * from user_Info where UserID=@UserID"
        Dim conn As SqlConnection = CreateConn(connStr)
        Dim cmd As SqlCommand = New SqlCommand(sql, conn)
        Dim sqlParam As New SqlParameter("@UserID", SqlDbType.Char)
        cmd.Parameters.Add(sqlParam)
        sqlParam.Value = UserID
        Dim sdr As SqlDataReader = Nothing
        Dim EntityUserInfo As New Entity.user_Info

        Try
            conn.Open()
            sdr = cmd.ExecuteReader()
            While sdr.Read
                EntityUserInfo.UserID = sdr.GetString(0)
                EntityUserInfo.Password = sdr.GetString(1)
                EntityUserInfo.Level = sdr.GetString(2)
                EntityUserInfo.UserName = sdr.GetString(3)
                EntityUserInfo.Head = sdr.GetString(4)
            End While
            Return EntityUserInfo
        Catch ex As Exception
            Return Nothing
        Finally
            Close(sdr)
            Close(cmd)
            Close(conn)
        End Try

    End Function

   ''' <summary>
    ''' 获得所有用户
    ''' </summary>
    ''' <returns>所有用户的DataSet集合</returns>
    ''' <remarks>2011/3/22 22:13 By NOVAGang</remarks>

    Public Function SelectAll(ByVal Level As String) As DataSet
        Dim sql As String = "select * from user_Info where Level=@Level"
        Dim conn As SqlConnection = CreateConn(connStr)
        Dim cmd As SqlCommand = New SqlCommand(sql, conn)
        Dim dap As SqlDataAdapter = New SqlDataAdapter(cmd)
        Dim ds As New DataSet

        Dim sqlParam As New SqlParameter("@Level", SqlDbType.Char)
        cmd.Parameters.Add(sqlParam)
        sqlParam.Value = Level

        Try
            conn.Open()
            dap.Fill(ds)
            Return ds
        Catch ex As Exception
            Return Nothing
        Finally
            Close(cmd)
            Close(conn)
        End Try

    End Function

    ''' <summary>
    ''' 删除一条用户信息
    ''' </summary>
    ''' <param name="EntityUserInfo">一个用户对象</param>
    ''' <returns>是否删除成功</returns>
    ''' <remarks>2011/3/22 22:18 By NOVAGang</remarks>
    Public Function Del(ByVal EntityUserInfo As Entity.user_Info) As Boolean
        Dim sql As String = "delete from user_Info where UserID=@UserID"
        Dim conn As SqlConnection = CreateConn(connStr)
        Dim cmd As New SqlCommand(sql, conn)
        Dim sqlParam As New SqlParameter("@UserID", SqlDbType.Char)
        sqlParam.Value = EntityUserInfo.UserID
        cmd.Parameters.Add(sqlParam)

        Try
            conn.Open()
            Return cmd.ExecuteNonQuery > 0
        Catch ex As Exception
            Return False
        Finally
            Close(cmd)
            Close(conn)
        End Try

    End Function

    ''' <summary>
    ''' 更新用户密码
    ''' </summary>
    ''' <param name="UserID">用户ID</param>
    ''' <param name="Password">用户密码</param>
    ''' <returns>更新是否成功</returns>
    ''' <remarks>2011/3/22 22:13 By NOVAGang</remarks>

    Public Function UpdatePWD(ByVal UserID As String, ByVal Password As String) As Boolean

       Dim sql As String = "update user_Info set Password=@Password where UserID=@UserID"
        Dim conn As SqlConnection = CreateConn(connStr)
        Dim cmd As SqlCommand = New SqlCommand(sql, conn)
        Dim sqlParam As SqlParameter

        sqlParam = New SqlParameter("@UserID", SqlDbType.Char)
        sqlParam.Value = UserID
        cmd.Parameters.Add(sqlParam)

        sqlParam = New SqlParameter("@Password", SqlDbType.Char)
        sqlParam.Value = Password
        cmd.Parameters.Add(sqlParam)

        Try
            conn.Open()
            Return cmd.ExecuteNonQuery() > 0
        Catch ex As Exception
            Return False
        Finally
            Close(cmd)
            Close(conn)
        End Try

    End Function

   ''' <summary>
    ''' 更新一条用户信息
    ''' </summary>
    ''' <param name="UserID">一个UserID字段</param>
    ''' <param name="Head">一个Head字段</param>
    ''' <returns>更新是否成功</returns>
    ''' <remarks>2011/3/22 22:23 By NOVAGang</remarks>
    Public Function Update(ByVal UserID As String, ByVal Head As String) As Boolean
        Dim sql As String = "update user_Info set Head=@Head where UserID=@UserID"
        Dim conn As SqlConnection = CreateConn(connStr)
        Dim cmd As SqlCommand = New SqlCommand(sql, conn)
        Dim sqlParam As SqlParameter

        sqlParam = New SqlParameter("@UserID", SqlDbType.Char)
        sqlParam.Value = UserID
        cmd.Parameters.Add(sqlParam)

        sqlParam = New SqlParameter("@Head", SqlDbType.Char)
        sqlParam.Value = Head
        cmd.Parameters.Add(sqlParam)

        Try
            conn.Open()
            Return cmd.ExecuteNonQuery() > 0
        Catch ex As Exception
            Return False
        Finally
            Close(cmd)
            Close(conn)
        End Try
    End Function

    ''' <summary>
    ''' 插入一条用户信息
    ''' </summary>
    ''' <param name="EntityUserInfo">用户信息表</param>
    ''' <returns>插入是否成功</returns>
    ''' <remarks>2011/3/22 22:13 By NOVAGang</remarks>

    Public Function Inster(ByVal EntityUserInfo As Entity.user_Info) As Boolean
        Dim sql As String = "insert into user_Info(UserID,Password,Level,UserName,Head) values (@UserID,@Password,@Level,@UserName,@Head)"
        Dim conn As SqlConnection = CreateConn(connStr)
        Dim cmd As SqlCommand = New SqlCommand(sql, conn)
        Dim sqlParam As SqlParameter

        sqlParam = New SqlParameter("@UserID", SqlDbType.Char)
        sqlParam.Value = EntityUserInfo.UserID
        cmd.Parameters.Add(sqlParam)

        sqlParam = New SqlParameter("@Password", SqlDbType.Char)
        sqlParam.Value = EntityUserInfo.Password
        cmd.Parameters.Add(sqlParam)

        sqlParam = New SqlParameter("@Level", SqlDbType.Char)
        sqlParam.Value = EntityUserInfo.Level
        cmd.Parameters.Add(sqlParam)

        sqlParam = New SqlParameter("@UserName", SqlDbType.Char)
        sqlParam.Value = EntityUserInfo.UserName
        cmd.Parameters.Add(sqlParam)

        sqlParam = New SqlParameter("@Head", SqlDbType.Char)
        sqlParam.Value = EntityUserInfo.Head
        cmd.Parameters.Add(sqlParam)

        Try
            conn.Open()
            Return cmd.ExecuteNonQuery() > 0
        Catch ex As Exception
            Return False
        Finally
            Close(cmd)
            Close(conn)
        End Try
    End Function

End Class

     基类da_Base的代码:

Imports System.Data.SqlClient

Public Class da_Base

    ''' <summary>
    ''' 创建一个数据连接
    ''' </summary>
    ''' <param name="connStr">数据库连接字符串</param>
    ''' <returns></returns>
    ''' <remarks>2011/3/22 22:23 By NOVAGang</remarks>

    '''Private connStr As String = "Data Source=ASUS-PC;Initial Catalog=jftoll_sys;Persist Security Info=True;User ID=sa;Password=123456"    (这是没有通过配置文件直接连接数据库的写法)
   

    Public Function CreateConn(ByVal connStr As String) As SqlConnection
        Return New SqlConnection(connStr)
    End Function

   ''' <summary>
    ''' 关闭相关对象
    ''' </summary>
    ''' <param name="conn"></param>
    ''' <remarks>2011/3/22 22:23 By NOVAGang</remarks>
    Public Sub Close(ByVal conn As SqlConnection)
        If Not IsNothing(conn) Then
            conn.Close()
            conn = Nothing
        End If
    End Sub

    ''' <summary>
    ''' 关闭相关对象
    ''' </summary>
    ''' <param name="sdr"></param>
    ''' <remarks>2011/3/22 22:23 By NOVAGang</remarks>
    Public Sub Close(ByVal sdr As SqlDataReader)
        If Not IsNothing(sdr) Then
            sdr.Close()
            sdr = Nothing
        End If
    End Sub

    ''' <summary>
    ''' 关闭相关对象
    ''' </summary>
    ''' <param name="cmd"></param>
    ''' <remarks>2011/3/22 22:23 By NOVAGang</remarks>

    Public Sub Close(ByVal cmd As SqlCommand)
        If Not IsNothing(cmd) Then
            cmd.Dispose()
            cmd = Nothing
        End If
    End Sub
End Class

这篇关于DAL层配合基类的代码记录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/603486

相关文章

python使用Akshare与Streamlit实现股票估值分析教程(图文代码)

《python使用Akshare与Streamlit实现股票估值分析教程(图文代码)》入职测试中的一道题,要求:从Akshare下载某一个股票近十年的财务报表包括,资产负债表,利润表,现金流量表,保存... 目录一、前言二、核心知识点梳理1、Akshare数据获取2、Pandas数据处理3、Matplotl

Django开发时如何避免频繁发送短信验证码(python图文代码)

《Django开发时如何避免频繁发送短信验证码(python图文代码)》Django开发时,为防止频繁发送验证码,后端需用Redis限制请求频率,结合管道技术提升效率,通过生产者消费者模式解耦业务逻辑... 目录避免频繁发送 验证码1. www.chinasem.cn避免频繁发送 验证码逻辑分析2. 避免频繁

精选20个好玩又实用的的Python实战项目(有图文代码)

《精选20个好玩又实用的的Python实战项目(有图文代码)》文章介绍了20个实用Python项目,涵盖游戏开发、工具应用、图像处理、机器学习等,使用Tkinter、PIL、OpenCV、Kivy等库... 目录① 猜字游戏② 闹钟③ 骰子模拟器④ 二维码⑤ 语言检测⑥ 加密和解密⑦ URL缩短⑧ 音乐播放

Python使用Tenacity一行代码实现自动重试详解

《Python使用Tenacity一行代码实现自动重试详解》tenacity是一个专为Python设计的通用重试库,它的核心理念就是用简单、清晰的方式,为任何可能失败的操作添加重试能力,下面我们就来看... 目录一切始于一个简单的 API 调用Tenacity 入门:一行代码实现优雅重试精细控制:让重试按我

java中pdf模版填充表单踩坑实战记录(itextPdf、openPdf、pdfbox)

《java中pdf模版填充表单踩坑实战记录(itextPdf、openPdf、pdfbox)》:本文主要介绍java中pdf模版填充表单踩坑的相关资料,OpenPDF、iText、PDFBox是三... 目录准备Pdf模版方法1:itextpdf7填充表单(1)加入依赖(2)代码(3)遇到的问题方法2:pd

Python实现MQTT通信的示例代码

《Python实现MQTT通信的示例代码》本文主要介绍了Python实现MQTT通信的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1. 安装paho-mqtt库‌2. 搭建MQTT代理服务器(Broker)‌‌3. pytho

MySQL进行数据库审计的详细步骤和示例代码

《MySQL进行数据库审计的详细步骤和示例代码》数据库审计通过触发器、内置功能及第三方工具记录和监控数据库活动,确保安全、完整与合规,Java代码实现自动化日志记录,整合分析系统提升监控效率,本文给大... 目录一、数据库审计的基本概念二、使用触发器进行数据库审计1. 创建审计表2. 创建触发器三、Java

Zabbix在MySQL性能监控方面的运用及最佳实践记录

《Zabbix在MySQL性能监控方面的运用及最佳实践记录》Zabbix通过自定义脚本和内置模板监控MySQL核心指标(连接、查询、资源、复制),支持自动发现多实例及告警通知,结合可视化仪表盘,可有效... 目录一、核心监控指标及配置1. 关键监控指标示例2. 配置方法二、自动发现与多实例管理1. 实践步骤

Java中调用数据库存储过程的示例代码

《Java中调用数据库存储过程的示例代码》本文介绍Java通过JDBC调用数据库存储过程的方法,涵盖参数类型、执行步骤及数据库差异,需注意异常处理与资源管理,以优化性能并实现复杂业务逻辑,感兴趣的朋友... 目录一、存储过程概述二、Java调用存储过程的基本javascript步骤三、Java调用存储过程示

Visual Studio 2022 编译C++20代码的图文步骤

《VisualStudio2022编译C++20代码的图文步骤》在VisualStudio中启用C++20import功能,需设置语言标准为ISOC++20,开启扫描源查找模块依赖及实验性标... 默认创建Visual Studio桌面控制台项目代码包含C++20的import方法。右键项目的属性: