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 = -
Try
Dim SqlComm As SqlCommand = CreateSqlComm(SqlCommandText, SqlParameters, SqlCommandType)
If SqlComm Is Nothing Then
Return
End If
ret = DataAccess.ExectueCmd(SqlComm)
Return ret
Catch ex As System.Exception
ret = -
_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 =
ret = ExecuteNonQuery(SqlCommandText, SqlParameters, SqlCommandType)
If ret >= 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) >= 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 =
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 > 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