Bogart BogartAutoCode.vb

本文详细介绍了BogartAutoCode数据库操作类的功能和使用方法,包括执行SQL命令、获取影响行数、执行SQL查询并返回单值、加载数据集等核心功能。
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
 

 

转载于:https://www.cnblogs.com/vinsonLu/p/3368390.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值