• Bogart BogartAutoCode.vb


    Imports System.Data.SqlClient
    Imports System.Data
    
    Public Class BogartAutoCodeDataBase
    
        Private Conn As SqlClient.SqlConnection = SqlConnect
        Sub New()
            'Conn = New BogartAutoCodeConnection
        End Sub
    
        ' 保存的错误!
        Private _StrError As String = ""
        Friend ReadOnly Property StrError() As String
            Get
                Return _StrError
            End Get
        End Property
    
    #Region "执行命令,返回影响的行数"
        '执行但行命令
        Function ExecuteNonQuery(ByVal SqlCommandText As String, Optional ByVal SqlCommandType As CommandType = CommandType.Text) As Integer
            Return ExecuteNonQuery(SqlCommandText, Nothing, SqlCommandType)
        End Function
    
        '执行但行命令
        Function ExecuteNonQuery(ByVal SqlCommandText As String, ByVal SqlParameters As ArrayList, Optional ByVal SqlCommandType As CommandType = CommandType.Text) As Integer
            Dim ret As Integer = -1
            Try
                Dim SqlComm As SqlCommand = CreateSqlComm(SqlCommandText, SqlParameters, SqlCommandType)
                If SqlComm Is Nothing Then
                    Return 0
                End If
                ret = DataAccess.ExectueCmd(SqlComm)
                Return ret
            Catch ex As System.Exception
                ret = -1
                _StrError = ex.Message & vbCrLf & ex.StackTrace
            End Try
            Return ret
        End Function
    #End Region
    
    #Region "执行命令,返回影响的行数"
        '执行但行命令
        Function ExecuteBool(ByVal SqlCommandText As String, ByVal SqlParameters As ArrayList, Optional ByVal SqlCommandType As CommandType = CommandType.Text) As Boolean
            Dim ret As Integer = 0
            ret = ExecuteNonQuery(SqlCommandText, SqlParameters, SqlCommandType)
            If ret >= 0 Then
                Return True
            Else
                Return False
            End If
        End Function
    
        '执行但行命令
        Function ExecuteBool(ByVal SqlCommandText As String, Optional ByVal SqlCommandType As CommandType = CommandType.Text) As Boolean
            Return ExecuteNonQuery(SqlCommandText, Nothing, SqlCommandType) >= 0 And Len(Me.StrError)
        End Function
    
    #End Region
    
    #Region "执行命令,返回单值"
        '执行但行命令
        Function ExecuteScalar(ByVal SqlCommandText As String, ByVal SqlParameters As ArrayList, Optional ByVal SqlCommandType As CommandType = CommandType.Text) As Object
    
            Dim SqlComm As SqlCommand = CreateSqlComm(SqlCommandText, SqlParameters, SqlCommandType)
            If SqlComm Is Nothing Then
                Return Nothing
            End If
            Try
                Return SqlComm.ExecuteScalar
            Catch ex As Exception
                _StrError = ex.Message & vbCrLf & ex.StackTrace
            End Try
    
        End Function
        '执行但行命令
        Function ExecuteScalar(ByVal SqlCommandText As String, Optional ByVal SqlCommandType As CommandType = CommandType.Text) As Object
            Return ExecuteScalar(SqlCommandText, Nothing, SqlCommandType)
        End Function
    #End Region
    
    #Region "加载数据集合"
        Function LoadDateSet(ByVal SqlCommandText As String, ByVal SqlParameters As ArrayList, Optional ByVal SqlCommandType As CommandType = CommandType.Text) As DataSet
            Dim SQLCMD As SqlClient.SqlCommand = CreateSqlComm(SqlCommandText, SqlParameters, SqlCommandType)
            Return DataAccess.ExectueSQL(SQLCMD)
        End Function
        Function LoadDateSet(ByVal SqlCommandText As String, Optional ByVal SqlCommandType As CommandType = CommandType.Text) As DataSet
            Return LoadDateSet(SqlCommandText, Nothing, SqlCommandType)
        End Function
    #End Region
    
    #Region "创建SqlCommand对象"
        '创建命令对象
        Function CreateSqlComm(ByVal SqlCommandText As String, ByVal SqlParameters As ArrayList, Optional ByVal SqlCommandType As CommandType = CommandType.Text) As SqlCommand
            Dim comm As New SqlCommand
    
            If Not OpenConn(Conn) Then
                Me._StrError = "Sorry, system not found DataServer or DataServer Closed!"
                Return Nothing
            End If
            With comm
                .Connection = Conn
                .CommandType = SqlCommandType
                .CommandText = SqlCommandText
                .CommandTimeout = 5
            End With
            AddParameters(comm, SqlParameters)
            Return comm
        End Function
        Function CreateSqlComm(ByVal SqlCommandText As String, Optional ByVal SqlCommandType As CommandType = CommandType.Text) As SqlCommand
            Return CreateSqlComm(SqlCommandText, Nothing, SqlCommandType)
        End Function
        Function CreateSqlComm()
            Return CreateSqlComm("", Nothing, CommandType.Text)
        End Function
    
    #End Region
    
    #Region "处理参数"
    
        '这里处理参数
        Sub AddParameters(ByVal SqlComm As SqlCommand, ByVal SqlParameters As ArrayList)
            If Not SqlParameters Is Nothing AndAlso SqlParameters.Count > 0 Then
                For Each Sqlp As SqlParameter In SqlParameters
                    SqlComm.Parameters.Add(Sqlp)
                Next
            End If
        End Sub
    
    #End Region
    
    #Region "创建Datareader对象"
        '创建Datareader对象
        Function CreateSqlDataReader(ByVal SqlCommandText As String, ByVal SqlParameters As ArrayList, Optional ByVal SqlCommandType As CommandType = CommandType.Text) As SqlDataReader
            Dim comm As SqlCommand = Me.CreateSqlComm(SqlCommandText, SqlParameters, SqlCommandType)
            If comm Is Nothing Then
                Return Nothing
            End If
            Return comm.ExecuteReader(CommandBehavior.CloseConnection)
        End Function
        Function CreateSqlDataReader(ByVal SqlCommandText As String, Optional ByVal SqlCommandType As CommandType = CommandType.Text) As SqlDataReader
            Return Me.CreateSqlDataReader(SqlCommandText, Nothing, SqlCommandType)
        End Function
    #End Region
    
    End Class
     
  • 相关阅读:
    线段树模板题 contest 线段树 T5
    Guide AHOI2017 洛谷P3720
    静态RMQ模板题 contest 静态RMQ T2
    树状数组模板题 P1904
    AC自动机模板题 P2017
    高精度排序模板题 P1110
    Trie树模板题 P2016
    树状数组套权值线段树
    爬山 启发式合并 / STL
    [POI2011]ROT-Tree Rotations 线段树合并|主席树 / 逆序对
  • 原文地址:https://www.cnblogs.com/vinsonLu/p/3368390.html
Copyright © 2020-2023  润新知