把API_mysql_connect换用已下这个函数: Public Declare Function mysql_real_connect Lib "libmySQL" _ (ByVal lMysql As Long, _ ByVal sHostName As String, _ ByVal sUserName As String, _ ByVal sPassword As String, _ ByVal sDbName As String, _ ByVal lPortNum As Long, _ ByVal sSocketName As String, _ ByVal lFlags As Long) As Long以下我的使用的一参考 Friend 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
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, m_Hostname, m_Username, m_Password, m_DbName, m_PortNum, "CESMIS", m_Flags) = 0 Then CheckForError "DBConn.OpenConnection" RealClose Else m_State = MY_CONN_OPEN
If cs_name <> "" Then lNumber = mysql_set_character_set(m_MYSQL, cs_name) If lNumber > 0 Then CheckForError "DBConn.OpenConnection" End If End If End If End If OpenConnection = m_State End Function
把API_mysql_connect换用已下这个函数: Public Declare Function mysql_real_connect Lib "libmySQL" _ (ByVal lMysql As Long, _ ByVal sHostName As String, _ ByVal sUserName As String, _ ByVal sPassword As String, _ ByVal sDbName As String, _ ByVal lPortNum As Long, _ ByVal sSocketName As String, _ ByVal lFlags As Long) As Long 以下我的使用的一参考 Friend 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
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, m_Hostname, m_Username, m_Password, m_DbName, m_PortNum, "CESMIS", m_Flags) = 0 Then CheckForError "DBConn.OpenConnection" RealClose Else m_State = MY_CONN_OPEN
If cs_name <> "" Then lNumber = mysql_set_character_set(m_MYSQL, cs_name) If lNumber > 0 Then CheckForError "DBConn.OpenConnection" End If End If End If End If OpenConnection = m_State End Function
Public Declare Function mysql_real_connect Lib "libmySQL" _
(ByVal lMysql As Long, _
ByVal sHostName As String, _
ByVal sUserName As String, _
ByVal sPassword As String, _
ByVal sDbName As String, _
ByVal lPortNum As Long, _
ByVal sSocketName As String, _
ByVal lFlags As Long) As Long以下我的使用的一参考
Friend 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 m_Hostname = sHostName
m_Username = sUserName
m_Password = sPassword
m_DbName = sDbName
m_PortNum = lPortNum
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, m_Hostname, m_Username, m_Password, m_DbName, m_PortNum, "CESMIS", m_Flags) = 0 Then
CheckForError "DBConn.OpenConnection"
RealClose
Else
m_State = MY_CONN_OPEN
If cs_name <> "" Then
lNumber = mysql_set_character_set(m_MYSQL, cs_name)
If lNumber > 0 Then
CheckForError "DBConn.OpenConnection"
End If
End If
End If
End If OpenConnection = m_State
End Function
Public Declare Function mysql_real_connect Lib "libmySQL" _
(ByVal lMysql As Long, _
ByVal sHostName As String, _
ByVal sUserName As String, _
ByVal sPassword As String, _
ByVal sDbName As String, _
ByVal lPortNum As Long, _
ByVal sSocketName As String, _
ByVal lFlags As Long) As Long 以下我的使用的一参考
Friend 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 m_Hostname = sHostName
m_Username = sUserName
m_Password = sPassword
m_DbName = sDbName
m_PortNum = lPortNum
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, m_Hostname, m_Username, m_Password, m_DbName, m_PortNum, "CESMIS", m_Flags) = 0 Then
CheckForError "DBConn.OpenConnection"
RealClose
Else
m_State = MY_CONN_OPEN
If cs_name <> "" Then
lNumber = mysql_set_character_set(m_MYSQL, cs_name)
If lNumber > 0 Then
CheckForError "DBConn.OpenConnection"
End If
End If
End If
End If OpenConnection = m_State
End Function