, _dbConn) ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡End Select¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡If Name = "" Then ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡DataSource = New DataSet ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Else ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡DataSource = New DataSet(Name) ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡End If ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡If Schema Then Ds.FillSchema(DataSource, SchemaType.Source) ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ds.Fill(DataSource) ¡¡¡¡¡¡¡¡¡¡¡¡End Get ¡¡¡¡¡¡¡¡End Property ¡¡¡¡End Class ¡¡¡¡''''ÃüÁîÐÐÀà ¡¡¡¡Public Class Command ¡¡¡¡¡¡¡¡Private _Cmd As IDbCommand ¡¡¡¡¡¡¡¡Private _Sql As String ¡¡¡¡¡¡¡¡Private _Conn As IDbConnection ¡¡¡¡¡¡¡¡Private _rdr As IDataReader ¡¡¡¡¡¡¡¡Private _dbType As ConnectionType ¡¡¡¡¡¡¡¡Public Sub New(ByRef Connect As IDbConnection) ¡¡¡¡¡¡¡¡¡¡¡¡_Conn = Connect ¡¡¡¡¡¡¡¡¡¡¡¡If TypeOf Connect Is OleDb.OleDbConnection Then ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡_dbType = ConnectionType.OleDb ¡¡¡¡¡¡¡¡¡¡¡¡ElseIf TypeOf Connect Is SqlClient.SqlConnection Then ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡_dbType = ConnectionType.SqlServer ¡¡¡¡¡¡¡¡¡¡¡¡End If ¡¡¡¡¡¡¡¡End Sub ¡¡¡¡¡¡¡¡Public Sub New(ByRef Connect As IDbConnection, ByVal Sql As String) ¡¡¡¡¡¡¡¡¡¡¡¡_Conn = Connect ¡¡¡¡¡¡¡¡¡¡¡¡If TypeOf Connect Is OleDb.OleDbConnection Then ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡_dbType = ConnectionType.OleDb ¡¡¡¡¡¡¡¡¡¡¡¡ElseIf TypeOf Connect Is SqlClient.SqlConnection Then ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡_dbType = ConnectionType.SqlServer ¡¡¡¡¡¡¡¡¡¡¡¡End If ¡¡¡¡¡¡¡¡¡¡¡¡Me.Sql = Sql ¡¡¡¡¡¡¡¡End Sub ¡¡¡¡¡¡¡¡Protected Overrides Sub Finalize() ¡¡¡¡¡¡¡¡¡¡¡¡Try ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡_Cmd.Dispose() ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡_rdr.Dispose() ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡_Conn.Dispose() ¡¡¡¡¡¡¡¡¡¡¡¡Catch ex As Exception ¡¡¡¡¡¡¡¡¡¡¡¡Finally ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡MyBase.Finalize() ¡¡¡¡¡¡¡¡¡¡¡¡End Try ¡¡¡¡¡¡¡¡End Sub ¡¡¡¡¡¡¡¡''''ÉèÖûò·µ»ØÁ¬½Ó¶ÔÏó ¡¡¡¡¡¡¡¡Public Property Connect() As IDbConnection ¡¡¡¡¡¡¡¡¡¡¡¡Get ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Return _Conn ¡¡¡¡¡¡¡¡¡¡¡¡End Get ¡¡¡¡¡¡¡¡¡¡¡¡Set(ByVal Value As IDbConnection) ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡_Conn = Value ¡¡¡¡¡¡¡¡¡¡¡¡End Set ¡¡¡¡¡¡¡¡End Property ¡¡¡¡¡¡¡¡''''¶ÁÈ¡»òÉèÖÃSQLÓï¾ä ¡¡¡¡¡¡¡¡Public Property Sql() As String ¡¡¡¡¡¡¡¡¡¡¡¡Get ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Return _Sql ¡¡¡¡¡¡¡¡¡¡¡¡End Get ¡¡¡¡¡¡¡¡¡¡¡¡Set(ByVal Value As String) ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡_Sql = Value ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡If _dbType = ConnectionType.SqlServer Then ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡_Cmd = New SqlClient.SqlCommand(Sql, _Conn) ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Else ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡_Cmd = New OleDb.OleDbCommand(_Sql, _Conn) ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡End If ¡¡¡¡¡¡¡¡¡¡¡¡End Set ¡¡¡¡¡¡¡¡End Property ¡¡¡¡¡¡¡¡''''¶ÁÈ¡ÏÂÒ»¼Ç¼ÐУ¬Èç¹û¼Ç¼¼¯Ã»Óдò¿ª£¬Ôò×Ô¶¯´ò¿ª¡£ ¡¡¡¡¡¡¡¡Public Function Read(Optional ByVal Behavior As System.Data.CommandBehavior = CommandBehavior.Default) As Boolean ¡¡¡¡¡¡¡¡¡¡¡¡If _rdr Is Nothing Then ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Try ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡_rdr = _Cmd.ExecuteReader(Behavior) ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Return _rdr.Read ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Catch ex As Exception ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Return False ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡End Try ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Return False ¡¡¡¡¡¡¡¡¡¡¡¡Else ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Return _rdr.Read ¡¡¡¡¡¡¡¡¡¡¡¡End If ¡¡¡¡¡¡¡¡End Function ¡¡¡¡¡¡¡¡''''//·µ»Ø×Ö¶ÎÊý ¡¡¡¡¡¡¡¡Public Function FieldCount() As Integer ¡¡¡¡¡¡¡¡¡¡¡¡Try ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Return _rdr.FieldCount ¡¡¡¡¡¡¡¡¡¡¡¡Catch ex As Exception ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Return 0 ¡¡¡¡¡¡¡¡¡¡¡¡End Try ¡¡¡¡¡¡¡¡End Function ¡¡¡¡¡¡¡¡''''//Ö´ÐÐÃüÁî ¡¡¡¡¡¡¡¡Public Function Update() As Boolean ¡¡¡¡¡¡¡¡¡¡¡¡Try ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡If _Conn.State <> ConnectionState.Open Then ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡_Conn.Open() ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡End If ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡_Cmd.ExecuteNonQuery() ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Return True ¡¡¡¡¡¡¡¡¡¡¡¡Catch ex As Exception ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Throw ex ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Return False ¡¡¡¡¡¡¡¡¡¡¡¡End Try ¡¡¡¡¡¡¡¡End Function ¡¡¡¡¡¡¡¡''''//¶ÁÈ¡×ֶλòÌí¼ÓSQLµÄÃüÃû²ÎÊý ¡¡¡¡¡¡¡¡Default Public Property Item(ByVal Name As String) ¡¡¡¡¡¡¡¡¡¡¡¡Get ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Return _rdr(Name) ¡¡¡¡¡¡¡¡¡¡¡¡End Get ¡¡¡¡¡¡¡¡¡¡¡¡Set(ByVal Value) ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡AddParam(Value, Name) ¡¡¡¡¡¡¡¡¡¡¡¡End Set ¡¡¡¡¡¡¡¡End Property ¡¡¡¡¡¡¡¡''''//¶ÁÈ¡×Ö¶Î ¡¡¡¡¡¡¡¡Default Public ReadOnly Property Item(ByVal Index As Integer) ¡¡¡¡¡¡¡¡¡¡¡¡Get ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Return _rdr(Index) ¡¡¡¡¡¡¡¡¡¡¡¡End Get ¡¡¡¡¡¡¡¡End Property ¡¡¡¡¡¡¡¡''''//Ìí¼Ó²ÎÊý ¡¡¡¡¡¡¡¡Public Function AddParam(ByRef Value As Object, Optional ByVal Name As String = "") ¡¡¡¡¡¡¡¡¡¡¡¡If _dbType = ConnectionType.OleDb Then ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Return CType(_Cmd, OleDb.OleDbCommand).Parameters.Add(Name, Value) ¡¡¡¡¡¡¡¡¡¡¡¡Else ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Return _Cmd.Parameters.Add(New SqlClient.SqlParameter("@" & Name, Value)) ¡¡¡¡¡¡¡¡¡¡¡¡End If ¡¡¡¡¡¡¡¡End Function ¡¡¡¡End Class End Namespace
ÉÏÒ»Ò³ [1] [2] |