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

 

 

你可能感兴趣的:(code)