´òÓ¡±¾ÎÄ ´òÓ¡±¾ÎÄ ¹Ø±Õ´°¿Ú ¹Ø±Õ´°¿Ú
¶ÔADO¡£NET¼¸¸ö¶ÔÏóµÄµÚÒ»´Î¼Ó¹¤¡£
×÷ÕߣºÎ人SEOãÉÌΠ ÎÄÕÂÀ´Ô´£ºÃôèºÍø  µã»÷Êý1809  ¸üÐÂʱ¼ä£º2009/4/23 10:40:05  ÎÄÕ¼È룺mintao  ÔðÈα༭£ºmintao
, _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] 

´òÓ¡±¾ÎÄ ´òÓ¡±¾ÎÄ ¹Ø±Õ´°¿Ú ¹Ø±Õ´°¿Ú