一个连接数据库的Class类-ASP技术-3P代码网
繁体中文
设为首页
加入收藏
当前位置:ASP技术首页 >> ASP基础 >> 一个连接数据库的Class类

一个连接数据库的Class类

2006-06-15 08:00:00  作者:  来源:互联网  浏览次数:0  文字大小:【】【】【
简介:Option Explicit 'local variable(s) to hold property value(s) Private lsServer As String 'local copy Private lsDatabase As String 'local variable(s) to hold property value(s) Private lsUserName As ...
关键字:数据库 一个 Class

Option Explicit

'local variable(s) to hold property value(s)

Private lsServer As String 'local copy

Private lsDatabase As String

'local variable(s) to hold property value(s)

Private lsUserName As String 'local copy

Private lsPassword As String 'local copy

Private lsSelectSQL As String 'local copy

'local variable(s) to hold property value(s)

Private lsTable As String 'local copy

Public Property Let Table(ByVal vData As String)

'used when assigning a value to the property, on the left side of an assignment.

'Syntax: X.Table = 5

lsTable = vData

End Property

Public Property Get Table() As String

'used when retrieving value of a property, on the right side of an assignment.

'Syntax: Debug.Print X.Table

Table = lsTable

End Property

Public Property Let SelectSQL(ByVal vData As String)

'used when assigning a value to the property, on the left side of an assignment.

'Syntax: X.SelectSQL = 5

lsSelectSQL = vData

End Property

Public Property Get SelectSQL() As String

'used when retrieving value of a property, on the right side of an assignment.

'Syntax: Debug.Print X.SelectSQL

SelectSQL = lsSelectSQL

End Property

Public Property Let Password(ByVal vData As String)

'used when assigning a value to the property, on the left side of an assignment.

'Syntax: X.Password = 5

lsPassword = vData

End Property

Public Property Get Password() As String

'used when retrieving value of a property, on the right side of an assignment.

'Syntax: Debug.Print X.Password

Password = lsPassword

End Property

Public Property Let UserName(ByVal vData As String)

'used when assigning a value to the property, on the left side of an assignment.

'Syntax: X.UserName = 5

lsUserName = vData

End Property

Public Property Get UserName() As String

'used when retrieving value of a property, on the right side of an assignment.

'Syntax: Debug.Print X.UserName

UserName = lsUserName

End Property

Public Property Let Server(ByVal vData As String)

'used when assigning a value to the property, on the left side of an assignment.

'Syntax: X.Server = 5

lsServer = vData

End Property

Public Property Get Server() As String

'used when retrieving value of a property, on the right side of an assignment.

'Syntax: Debug.Print X.Server

Server = lsServer

End Property

Public Property Let Database(ByVal vData As String)

'used when assigning a value to the property, on the left side of an assignment.

'Syntax: X.Database = 5

lsDatabase = vData

End Property

Public Property Get Database() As String

'used when retrieving value of a property, on the right side of an assignment.

'Syntax: Debug.Print X.Database

Database = lsDatabase

End Property

Public Function ConnectDatabaseByODBCDNS(lsDNS As String) As ADODB.Connection

On Error GoTo Errhandle

Dim Conn As New ADODB.Connection

Dim strConn As String

strConn = "DSN=" & lsDNS & _

";UID=" & lsUserName & _

";Pwd=" & lsPassword

If Conn.State = adStateOpen Then

Conn.Close

End If

Conn.Open strConn

Conn.CursorLocation = adUseClient

Set ConnectDatabaseByODBCDNS = Conn

Exit Function

Errhandle:

Err.Raise 102, "DBConn.Cls", "Can't Connect To The " & Database & " Database!"

End Function

Public Function ConnectDatabaseByODBC() As ADODB.Connection

On Error GoTo Errhandle

Dim Conn As New ADODB.Connection

Dim strConn As String

strConn = "Provider=MSDASQL.1" & _

";User ID=" & lsUserName & _

";Password=" & lsPassword & _

";Persist Security Info=False" & _

";Initial Catalog=" & lsDatabase & _

";Data Source=" & lsServer

If Conn.State = adStateOpen Then

Conn.Close

End If

Conn.Open strConn

Conn.CursorLocation = adUseClient

Set ConnectDatabaseByODBC = Conn

Exit Function

Errhandle:

Err.Raise 108, "DBConn.Cls", "Can't Connect To The " & Database & " Database!"

End Function

Public Function ConnectDatabaseByODBCProvider() As ADODB.Connection

On Error GoTo Errhandle

Dim Conn As New ADODB.Connection

Dim strConn As String

strConn = "Driver={SQL Server};Server=" & lsServer & _

";Database=" & lsDatabase & _

";UID=" & lsUserName & _

";Pwd=" & lsPassword

If Conn.State = adStateOpen Then

Conn.Close

End If

Conn.Open strConn

Conn.CursorLocation = adUseClient

Set ConnectDatabaseByODBCProvider = Conn

Exit Function

Errhandle:

Err.Raise 101, "DBConn.Cls", "Can't Connect To The " & Database & " Database!"

End Function

Public Function ConnectDatabaseByOLEDB(lsServer As String, lsUserName As String, lsPassword As String, lsDatabase As String) As ADODB.Connection

On Error GoTo Errhandle

Dim Conn As New ADODB.Connection

Dim strConn As String

strConn = "Provider=SQLOLEDB.1" & _

";User ID=" & lsUserName & _

";Password=" & lsPassword & _

";Persist Security Info=False" & _

";Initial Catalog=" & lsDatabase & _

";Data Source=" & lsServer

If Conn.State = adStateOpen Then

Conn.Close

End If

Conn.Open strConn

Conn.CursorLocation = adUseClient

Set ConnectDatabaseByOLEDB = Conn

Exit Function

Errhandle:

Err.Raise 100, "DBConn.Cls", "Can't Connect To The " & Database & " Database!"

End Function

Public Function ConnectDatabaseByODBCDNSForCrystal(lsDNS As String) As ADODB.Connection

On Error GoTo Errhandle

Dim Conn As New ADODB.Connection

Dim strConn As String

strConn = "DSN=" & lsDNS & _

";UID=" & lsUserName & _

";PWD=" & lsPassword & _

";DSQ=" & lsDatabase

If Conn.State = adStateOpen Then

Conn.Close

End If

Conn.Open strConn

Conn.CursorLocation = adUseClient

Set ConnectDatabaseByODBCDNSForCrystal = Conn

Exit Function

Errhandle:

Err.Raise 104, "DBConn.Cls", "Can't Connect To The " & Database & " Database For Crystal!"

End Function

Public Function ConnectDatabaseByOLEDBForCrystal() As ADODB.Connection

On Error GoTo Errhandle

Dim Conn As New ADODB.Connection

Dim strConn As String

strConn = "Driver={SQL Server}" & _

";UID=" & lsUserName & _

";PWD=" & lsPassword & _

";Server=" & lsServer & _

";Database=" & lsDatabase

If Conn.State = adStateOpen Then

Conn.Close

End If

Conn.Open strConn

Conn.CursorLocation = adUseClient

Set ConnectDatabaseByOLEDBForCrystal = Conn

Exit Function

Errhandle:

Err.Raise 105, "DBConn.Cls", "Can't Connect To The " & Database & " Database For Crystal!"

End Function

Public Function OpenRecordset(lsServer As String, lsUserName As String, lsPassword As String, lsDatabase As String, lsTable As String, Optional lsSelectSQL As String) As ADODB.Recordset

On Error GoTo Errhandle

Dim rs As New ADODB.Recordset

rs.CursorType = adOpenStatic

rs.LockType = adLockOptimistic

If rs.State = adStateOpen Then

rs.Close

End If

If Trim(lsSelectSQL) = "" Then

Set rs = ConnectDatabaseByOLEDB(lsServer, lsUserName, lsPassword, lsDatabase).Execute("Select * From " & lsTable)

Else

Set rs = ConnectDatabaseByOLEDB(lsServer, lsUserName, lsPassword, lsDatabase).Execute(lsSelectSQL)

End If

Set OpenRecordset = rs

Exit Function

Errhandle:

Err.Raise 110, "ConnDB.Cls", "Can't Open The RecordSet"

End Function

Public Sub UpdateRecordset(lsTable As String, lsUpdateCondition As String)

On Error GoTo Errhandle

ConnectDatabaseByODBCProvider.BeginTrans

ConnectDatabaseByODBCProvider.Execute ("Update " & lsTable & " where " & lsUpdateCondition)

ConnectDatabaseByODBCProvider.CommitTrans

Errhandle:

ConnectDatabaseByODBCProvider.RollbackTrans

Err.Raise 111, "ConnDB.Cls", "Can't Update the Recordset!"

End Sub

Private Sub Class_Initialize()

' lsServer = "prc_msdnt"

' 'lsDatabase = "NorthWind"

' lsUserName = "sa"

' lsPassword = "sa"

' lsSelectSQL = ""

' lsTable = ""

End Sub

责任编辑:admin
相关文章