vb.net机房收费系统——类的理解(sqlhelper)

 类,什么是类?让我们看看维基百科的定义

     在现实世界中,经常有属于同一个类的对象。例如,某辆自行车只是世界上很多自行车中的一辆。在面向对象软件中,也有很多共享相同特征的不同的对象:矩形、雇用记录、视频剪辑等。可以利用这些对象的相同特征为它们建立一个蓝图。对象的软件蓝图称为类。

     类是定义同一类所有对象的变量和方法的蓝图或原型。例如,可以建立一个定义包含当前档位等实例变量的自行车类。这个类也定义和提供了实例方法(变档、刹车)的实现。

     实例变量的值由类的每个实例提供。因此,当创建自行车类以后,必须在使用之前对它进行实例化。当创建类的实例时, 就建立了这种类型的一个对象,然后系统为类定义的实例变量 分配内存。然后可以调用对象的实例方法实现一些功能。相同类的实例共享相同的实例方法。

     除了实例变量和方法,类也可以定义类变量和类方法。可以从类的实例中或者直接从类中访问类变量和方法。类方法只能操 作类变量 - 不必访问实例变量或实例方法。

     系统在第一次在程序中遇到一个类时为这个类建立它的所有类变量的拷贝 - 这个类的所有实例共享它的类变量。

在我们这片博文中,我们就“SQLHelper”类讲述我理解的类!

       首先,类的定义总有这么一句“软件蓝图称为类,SQLHelper是一个什么样的蓝图呢,大面上说,它将与数据库频繁交涉的“连接”,“执行”封装在了里面,这么说他是数据操作中“连接”,“执行”的蓝图,规划好怎么做就好!类,的好处必然有复用性,就像现在的工业时代一样,我们画好一个汽车的蓝图,汽车厂就能源源不断地给我们生产这种汽车,方便我们出行!




       当然,还有一个好处是:让逻辑简单,将功能聚合起来,我们对各个方法的逻辑就变成了各个类之间的逻辑,还是汽车举个例子,如果我们每个人都造汽车,且没有标准,我们的路要修多宽?有人说“尽量宽!”,但是这是浪费,如果车子多了起来,就是混乱,类如同标准,让逻辑简单,车的大小吗,速度,油耗都有标准,让我们的路,更经济合理!

       类多了涉及到分层!这是个相对的概念!什么难度的逻辑对应我们应该分几层,逻辑的多少大小,让我们在设计类,规划类的时候又用到了模式!但是模式也是个相对的概念,100%用模式解决问题,有时候就会适得其反!就比如很简单的“hello word!”我们要怎么分层,怎么运用模式都不如直接输出来的好!

       面向对象,我们刚刚开始这段神奇的旅程!以后的生活会更加精彩!

源码奉献:

Imports System.Data.SqlClient
Imports System.Configuration  '要在管理器中添加引用  

'/************************************************* 
'作者:许恕
'小组:
'说明:用户对数据库操作帮助类
'创建日期:2013.2.24——14:00
'版本号:v1.0.0
'*********************************************/





'类名:SQLHelper
'意义:用户对数据库操作帮助类    
'成员:      
'UserId           '用户id
'UserPassword     '用户密码
'UserName         '用户姓名
'UserLevel        '用户等级
'UserAgent        '用户创始人
Public Class SQLHelper

    '获取配置文件中的连接字符串
    Private ReadOnly strSQLConnection As String = ConfigurationManager.AppSettings("strSQLConnection")
    '定义连接
    Dim cnnSQL As SqlConnection
    '定义cmd命令
    Dim cmdSQL As SqlCommand

    '     /// <summary>
    '     /// depiction:<该方法是sqlhelper类的初始化>
    '        /// </summary>
    Private Sub New()
        cnnSQL = New SqlConnection(strSQLConnection)
    End Sub

    ''     /// <summary>
    ''     /// depiction:<改方法是获取数据库的连接>
    ''        /// </summary>
    'Private Sub openSQLConnection()

    '    '判断数据库连接对象状态是否为断开,如果断开就打开
    '    If cnnSQL.State = ConnectionState.Closed Then
    '        cnnSQL.Open()
    '    End If

    'End Sub

    '     /// <summary>
    '     /// depiction:<改方法是关闭数据库的连接>
    '        /// </summary>
    Private Sub CloseSQLConnection()

        '判断数据库连接对象状态是否为断开,如果不断开就断开
        If cnnSQL.State <> ConnectionState.Closed Then
            cnnSQL.Close()
        End If

    End Sub

    '     /// <summary>
    '     /// depiction:<改方法是关闭数据库命令>
    '        /// </summary>
    Private Sub CloseSQLCommand()

        If Not IsNothing(cmdSQL) Then          '如果cmd命令存在  
            cmdSQL.Dispose()                   '销毁  
            cmdSQL = Nothing
        End If

    End Sub

    '/// <summary>  
    ''///执行增删改三个操作,(有参)返回值为boolean类型,确认是否执行成功  
    '/// </summary>  
    '   /// <param name="strSql">需要执行语句,一般是Sql语句,也有存储过程</param>  
    ''  ///<param name="cmdType">判断Sql语句的类型,一般都不是存储过程</param>  
    '   /// <param name="sqlParams">参数数组,无法确认有多少参数</param>
    '   /// <returns>
    '        ///<返回布尔类型,成功为true,否则为false>
    '    /// </returns>
    Public Function ExecuteAddDelUpdate(ByVal strSql As String, ByVal cmdType As CommandType, ByVal sqlParams As SqlParameter()) As Boolean

        '用传进的参数填充本类自己的cmd对象
        cmdSQL.Parameters.AddRange(sqlParams)   '参数传入
        cmdSQL.CommandType = cmdType
        cmdSQL.Connection = cnnSQL              '设置连接
        cmdSQL.CommandText = strSql             '设置查询的语句

        Try
            cnnSQL.Open()                      '打开连接  
            Return cmdSQL.ExecuteNonQuery()     '执行增删改操作  
            cmdSQL.Parameters.Clear()           '清除参数  
        Catch ex As Exception
            Return False                         '如果出错,返回false 
        Finally
            Call CloseSQLConnection()
            Call CloseSQLCommand()
        End Try

    End Function

    '/// <summary>  
    ''///执行增删改三个操作,(无参)返回值为boolean类型,确认是否执行成功  
    '/// </summary>  
    '   /// <param name="strSql">需要执行语句,一般是Sql语句,也有存储过程</param>  
    ''  ///<param name="cmdType">判断Sql语句的类型,一般都不是存储过程</param>  
    '   /// <returns>
    '        ///<返回布尔类型,成功为true,否则为false>
    '    /// </returns>
    Public Function ExecuteAddDelUpdate(ByVal strSql As String, ByVal cmdType As CommandType) As Boolean

        '用传进的参数填充本类自己的cmd对象
        cmdSQL.CommandType = cmdType
        cmdSQL.Connection = cnnSQL              '将参数传入
        cmdSQL.CommandText = strSql             '设置查询的语句

        Try
            cnnSQL.Open()                      '打开连接  
            Return cmdSQL.ExecuteNonQuery()     '执行增删改操作  
        Catch ex As Exception
            Return False                         '如果出错,返回false 
        Finally
            Call CloseSQLConnection()
            Call CloseSQLCommand()
        End Try

    End Function

    '/// <summary>  
    ''///执行查询操作,(有参)返回值为datatable类型  
    '/// </summary>  
    '   /// <param name="strSql">需要执行语句,一般是Sql语句,也有存储过程</param>  
    ''  ///<param name="cmdType">判断Sql语句的类型,一般都不是存储过程</param>  
    '   /// <param name="sqlParams">参数数组,无法确认有多少参数</param>
    '   /// <returns>
    '        ///<返回表>
    '    /// </returns>
    Public Function ExecuteSelect(ByVal strSql As String, ByVal cmdType As CommandType, ByVal sqlParams As SqlParameter()) As DataTable
        Dim sqlAdapter As SqlDataAdapter
        Dim dtSQL As New DataTable
        Dim dsSQL As New DataSet

        '用传进的参数填充本类自己的cmd对象  
        cmdSQL.CommandText = strSql
        cmdSQL.CommandType = cmdType
        cmdSQL.Connection = cnnSQL
        cmdSQL.Parameters.AddRange(sqlParams)  '参数添加  
        sqlAdapter = New SqlDataAdapter(cmdSQL)  '实例化adapter  
        Try
            sqlAdapter.Fill(dsSQL)           '用adapter将dataSet填充   
            dtSQL = dsSQL.Tables(0)             'datatable为dataSet的第一个表  
            cmdSQL.Parameters.Clear()        '清除参数  
        Catch ex As Exception
            MsgBox("查询失败", CType(vbOKOnly + MsgBoxStyle.Exclamation, MsgBoxStyle), "警告")
        Finally                            '最后一定要销毁cmd  
            Call CloseSQLCommand()
        End Try

        Return dtSQL

    End Function

    '/// <summary>  
    ''///执行查询操作,(无参)返回值为datatable类型  
    '/// </summary>  
    '   /// <param name="strSql">需要执行语句,一般是Sql语句,也有存储过程</param>  
    ''  ///<param name="cmdType">判断Sql语句的类型,一般都不是存储过程</param>  
    '   /// <returns>
    '        ///<返回表>
    '    /// </returns>
    Public Function ExecuteSelect(ByVal strSql As String, ByVal cmdType As CommandType) As DataTable
        Dim sqlAdapter As SqlDataAdapter
        Dim dtSQL As New DataTable
        Dim dsSQL As New DataSet

        '用传进的参数填充本类自己的cmd对象  
        cmdSQL.CommandText = strSql
        cmdSQL.CommandType = cmdType
        cmdSQL.Connection = cnnSQL
        sqlAdapter = New SqlDataAdapter(cmdSQL)  '实例化adapter  
        Try
            sqlAdapter.Fill(dsSQL)           '用adapter将dataSet填充   
            dtSQL = dsSQL.Tables(0)             'datatable为dataSet的第一个表  
        Catch ex As Exception
            MsgBox("查询失败", CType(vbOKOnly + MsgBoxStyle.Exclamation, MsgBoxStyle), "警告")
        Finally                            '最后一定要销毁cmd  
            Call CloseSQLCommand()
        End Try

        Return dtSQL

    End Function


End Class


1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
应用背景为变电站电力巡检,基于YOLO v4算法模型对常见电力巡检目标进行检测,并充分利用Ascend310提供的DVPP等硬件支持能力来完成流媒体的传输、处理等任务,并对系统性能做出一定的优化。.zip深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。
评论 30
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值