如何从Visual Basic 6连接到MySQL数据库

时间:2011-08-29 08:17:20

标签: mysql database vb6

我正在使用visual basic 6.我创建了一个按钮,按下时应显示该表的所有条目。我使用以下代码连接到MySQL数据库。我使用Microsoft远程数据服务作为我的参考

代码:

Private Sub cmdConnectMySQL_Click()
Dim cnMySql As New rdoConnection
Dim rdoQry  As New rdoQuery
Dim rdoRS   As rdoResultset

  cnMySql.CursorDriver = rdUseOdbc
  cnMySql.Connect = "uid=root;pwd=;
  server=localhost; driver={MySQL ODBC 3.51 Driver};
  database=demo;dsn=;"
  cnMySql.EstablishConnection
  With rdoQry
    .Name = "selectUsers"
    .SQL = "select * from user"
    .RowsetSize = 1
    Set .ActiveConnection = cnMySql
    Set rdoRS = .OpenResultset(rdOpenKeyset, rdConcurRowVer)
  End With

  Do Until rdoRS.EOF
    With rdoRS
      rdoRS.MoveNext
    End With
  Loop
  rdoRS.Close
  cnMySql.Close

End Sub 

我无法连接到数据库。我该如何连接?

2 个答案:

答案 0 :(得分:3)

您可以尝试使用ADO代替RDO吗?

  • 添加对Microsoft ActiveX Data Objects 2.8库的引用
  • 设置ODBC DSN以连接到数据库

然后使用类似这样的代码

Dim cnConnection As ADODB.Connection
Dim adorsRecordSet As ADODB.Recordset
Dim sDatabase As String
Dim sSQL As String

sDatabase = "NameOfTheMysqlDSN"
sSQL= "Select * From user"

Set cnConnection = New ADODB.Connection
cnConnection.Open sDatabase
Set adorsRecordSet = New ADODB.Recordset

adorsRecordSet.Open sSQL, cnConnection 

Do Until (adorsRecordSet.EOF)
     adorsRecordSet.MoveNext
Loop

答案 1 :(得分:1)

' the follwoing code inside module and use adodc

Public Myconn As New ADODB.Connection
Public Recset As New ADODB.Recordset
Public SqlStr As String
Public Function Connectdb()
Set Myconn = New ADODB.Connection
Set Recset = New ADODB.Recordset
Myconn.Open "Provider=MSDASQL.1;Persist Security Info=False;Extended Properties='DRIVER=SQL Server Native Client 10.0;SERVER=.\sqlexpress;Trusted_Connection=Yes;APP=Visual Basic;WSID=YOUNGPROGRAMA;DATABASE=StdB;';Initial Catalog=StdB"
End Function

' the following code inside ur form

Private Sub Command1_Click()

        Connectdb
         SqlStr = "Insert into Logintb  values('" + Text1.Text + "', '" + Text2.Text + "'  )"

        Recset.Open SqlStr, Myconn, adOpenKeyset, adLockOptimistic

        MsgBox "New User Added"


        Myconn.Close



    End Sub

Private Sub Form_Load()
Connectdb



With Form1
.Top = (Screen.Height - .Height) / 2
.Left = (Screen.Width - .Width) / 2
End With
End Sub

'it works 
'for verification call Mr. Raji on 08067455933