1,486
社区成员
发帖
与我相关
我的任务
分享
Public Function OpenConnection(ByVal sHostName As String, _
ByVal sUserName As String, _
ByVal sPassword As String, _
ByVal sDbName As String, _
Optional ByVal lPortNum As Long = 3306, _
Optional ByVal lFlags As MYSQL_FLAG, _
Optional ByVal cs_name As String) As MYSQL_CONNECTION_STATE
Dim lNumber As Long
Me.CloseConnection
OpenConnection = m_State
gServerName = sHostName
gUserID = sUserName
gUserPass = sPassword
gDbName = sDbName
gPortNum = lPortNum
gOptions = lFlags
gCharacterSetName = cs_name
m_MYSQL = mysql_init(m_MYSQL)
If m_MYSQL = 0 Then
Err.Raise vbObjectError + 1, "DBConn.OpenConnection", "Couldn't obtain a connection handler."
Exit Function
Else
If UBound(MyOptArr) > 0 Then
Dim i As Integer
'set options
For i = 1 To UBound(MyOptArr)
Select Case MyOptArr(i).eOption
Case MYSQL_OPT_CONNECT_TIMEOUT
mysql_options m_MYSQL, MYSQL_OPT_CONNECT_TIMEOUT, MyOptArr(i).sArg
Case MYSQL_OPT_COMPRESS
mysql_options m_MYSQL, MYSQL_OPT_COMPRESS, 0
Case MYSQL_OPT_NAMED_PIPE
mysql_options m_MYSQL, MYSQL_OPT_NAMED_PIPE, 0
Case MYSQL_INIT_COMMAND
mysql_options m_MYSQL, MYSQL_INIT_COMMAND, MyOptArr(i).sArg
Case MYSQL_READ_DEFAULT_FILE
mysql_options m_MYSQL, MYSQL_READ_DEFAULT_FILE, MyOptArr(i).sArg
Case MYSQL_READ_DEFAULT_GROUP
mysql_options m_MYSQL, MYSQL_READ_DEFAULT_GROUP, MyOptArr(i).sArg
End Select
Next i
End If
If mysql_real_connect(m_MYSQL, gServerName, gUserID, gUserPass, gDbName, gPortNum, m_CESApp.SoftWare, gOptions) = 0 Then
'connection attempt NG ...
CheckForError "DBConn.OpenConnection"
pRealClose
Else
m_State = MY_CONN_OPEN
If cs_name <> "" Then
gCharacterSetName = UCase(gCharacterSetName)
lNumber = mysql_set_character_set(m_MYSQL, gCharacterSetName)
If lNumber > 0 Then
CheckForError "DBConn.OpenConnection"
End If
End If
End If
End If
OpenConnection = m_State
End Function