请问,VB中可不可以调用Mysql数据库的数据?

解决方案 »

  1.   

    当然可以,Mysql数据库也是数据库。
    用ODBC就完全可以操作,不过这需要MySQL的ODBC驱动支持。
    也可以用其它方式来完成。
    像MySQL的API等等..
      

  2.   

    找一个叫MYSQLODBC的驱动程序来安装了就可以通过odbc的方式连mysql
      

  3.   

    Private Sub myodbc_ado_Click()
       
      Dim conn As ADODB.Connection
      Dim rs As ADODB.Recordset
      Dim fld As ADODB.Field
      Dim sql As String  'connect to MySQL server using MySQL ODBC 3.51 Driver
      Set conn = New ADODB.Connection
      conn.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver};"_
                            & "SERVER=localhost;"_ 
                            & " DATABASE=test;"_
                            & "UID=venu;PWD=venu; OPTION=3"  conn.Open  'create table
      conn.Execute "DROP TABLE IF EXISTS my_ado"
      conn.Execute "CREATE TABLE my_ado(id int not null primary key, name varchar(20)," _
                                     & "txt text, dt date, tm time, ts timestamp)"  'direct insert
      conn.Execute "INSERT INTO my_ado(id,name,txt) values(1,100,'venu')"
      conn.Execute "INSERT INTO my_ado(id,name,txt) values(2,200,'MySQL')"
      conn.Execute "INSERT INTO my_ado(id,name,txt) values(3,300,'Delete')"  Set rs = New ADODB.Recordset
      rs.CursorLocation = adUseServer  'fetch the initial table ..
      rs.Open "SELECT * FROM my_ado", conn
        Debug.Print rs.RecordCount
        rs.MoveFirst
        Debug.Print String(50, "-") & "Initial my_ado Result Set " & String(50, "-")
        For Each fld In rs.Fields
          Debug.Print fld.Name,
          Next
          Debug.Print      Do Until rs.EOF
          For Each fld In rs.Fields
          Debug.Print fld.Value,
          Next
          rs.MoveNext
          Debug.Print
        Loop
      rs.Close  'rs insert
      rs.Open "select * from my_ado", conn, adOpenDynamic, adLockOptimistic
      rs.AddNew
      rs!Name = "Monty"
      rs!txt = "Insert row"
      rs.Update
      rs.Close  'rs update
      rs.Open "SELECT * FROM my_ado"
      rs!Name = "update"
      rs!txt = "updated-row"
      rs.Update
      rs.Close  'rs update second time..
      rs.Open "SELECT * FROM my_ado"
      rs!Name = "update"
      rs!txt = "updated-second-time"
      rs.Update
      rs.Close  'rs delete
      rs.Open "SELECT * FROM my_ado"
      rs.MoveNext
      rs.MoveNext
      rs.Delete
      rs.Close  'fetch the updated table ..
      rs.Open "SELECT * FROM my_ado", conn
        Debug.Print rs.RecordCount
        rs.MoveFirst
        Debug.Print String(50, "-") & "Updated my_ado Result Set " & String(50, "-")
        For Each fld In rs.Fields
          Debug.Print fld.Name,
          Next
          Debug.Print      Do Until rs.EOF
          For Each fld In rs.Fields
          Debug.Print fld.Value,
          Next
          rs.MoveNext
          Debug.Print
        Loop
      rs.Close
      conn.Close
    End Sub
      

  4.   


    先安装
    MySQL ODBC 3.51 Driver