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

相关文章

C++使用栈实现括号匹配的代码详解

《C++使用栈实现括号匹配的代码详解》在编程中,括号匹配是一个常见问题,尤其是在处理数学表达式、编译器解析等任务时,栈是一种非常适合处理此类问题的数据结构,能够精确地管理括号的匹配问题,本文将通过C+... 目录引言问题描述代码讲解代码解析栈的状态表示测试总结引言在编程中,括号匹配是一个常见问题,尤其是在

Java调用DeepSeek API的最佳实践及详细代码示例

《Java调用DeepSeekAPI的最佳实践及详细代码示例》:本文主要介绍如何使用Java调用DeepSeekAPI,包括获取API密钥、添加HTTP客户端依赖、创建HTTP请求、处理响应、... 目录1. 获取API密钥2. 添加HTTP客户端依赖3. 创建HTTP请求4. 处理响应5. 错误处理6.

使用 sql-research-assistant进行 SQL 数据库研究的实战指南(代码实现演示)

《使用sql-research-assistant进行SQL数据库研究的实战指南(代码实现演示)》本文介绍了sql-research-assistant工具,该工具基于LangChain框架,集... 目录技术背景介绍核心原理解析代码实现演示安装和配置项目集成LangSmith 配置(可选)启动服务应用场景

Python中顺序结构和循环结构示例代码

《Python中顺序结构和循环结构示例代码》:本文主要介绍Python中的条件语句和循环语句,条件语句用于根据条件执行不同的代码块,循环语句用于重复执行一段代码,文章还详细说明了range函数的使... 目录一、条件语句(1)条件语句的定义(2)条件语句的语法(a)单分支 if(b)双分支 if-else(

关于Spring @Bean 相同加载顺序不同结果不同的问题记录

《关于Spring@Bean相同加载顺序不同结果不同的问题记录》本文主要探讨了在Spring5.1.3.RELEASE版本下,当有两个全注解类定义相同类型的Bean时,由于加载顺序不同,最终生成的... 目录问题说明测试输出1测试输出2@Bean注解的BeanDefiChina编程nition加入时机总结问题说明

MySQL数据库函数之JSON_EXTRACT示例代码

《MySQL数据库函数之JSON_EXTRACT示例代码》:本文主要介绍MySQL数据库函数之JSON_EXTRACT的相关资料,JSON_EXTRACT()函数用于从JSON文档中提取值,支持对... 目录前言基本语法路径表达式示例示例 1: 提取简单值示例 2: 提取嵌套值示例 3: 提取数组中的值注意

CSS3中使用flex和grid实现等高元素布局的示例代码

《CSS3中使用flex和grid实现等高元素布局的示例代码》:本文主要介绍了使用CSS3中的Flexbox和Grid布局实现等高元素布局的方法,通过简单的两列实现、每行放置3列以及全部代码的展示,展示了这两种布局方式的实现细节和效果,详细内容请阅读本文,希望能对你有所帮助... 过往的实现方法是使用浮动加

JAVA调用Deepseek的api完成基本对话简单代码示例

《JAVA调用Deepseek的api完成基本对话简单代码示例》:本文主要介绍JAVA调用Deepseek的api完成基本对话的相关资料,文中详细讲解了如何获取DeepSeekAPI密钥、添加H... 获取API密钥首先,从DeepSeek平台获取API密钥,用于身份验证。添加HTTP客户端依赖使用Jav

Java实现状态模式的示例代码

《Java实现状态模式的示例代码》状态模式是一种行为型设计模式,允许对象根据其内部状态改变行为,本文主要介绍了Java实现状态模式的示例代码,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来... 目录一、简介1、定义2、状态模式的结构二、Java实现案例1、电灯开关状态案例2、番茄工作法状态案例

nginx-rtmp-module模块实现视频点播的示例代码

《nginx-rtmp-module模块实现视频点播的示例代码》本文主要介绍了nginx-rtmp-module模块实现视频点播,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习... 目录预置条件Nginx点播基本配置点播远程文件指定多个播放位置参考预置条件配置点播服务器 192.