在vb中怎样连接mysql数据库?
有没有 mysql for odbc 的驱动?

解决方案 »

  1.   

    Dim cn As New ADODB.ConnectionPrivate Sub Form_Load()
    On Error GoTo Errhandle
        cn.ConnectionString = "Driver={MySQL};Option=0;port=;stmt=;Server=orient-zw;DataBase=ymnews;User=root;Password="
        cn.Open
        
        Exit Sub
    Errhandle:
        MsgBox Err.Description, vbExclamation
    End Sub
      

  2.   

    我也在找。
    不过我直接copy后,发现不能用。
    说是没数据源
      

  3.   

    ODBC Driver for MySQL (via MyODBC) 
      
    To connect to a local databaseoConn.Open "Driver={mySQL};" & _ 
              "Server=MyServerName;" & _
              "Option=16834;" & _
              "Database=mydb;"To connect to a remote databaseoConn.Open "Driver={mySQL};" & _ 
              "Server=db1.database.com;" & _
              "Port=3306;" & _
              "Option=131072;" & _
              "Stmt=;" & _
              "Database=mydb;" & _
              "Uid=myUsername;" & _
              "Pwd=myPassword;"For more information, see: Programs Known to Work with MyODBC
      

  4.   

    我就是用最简单的方法,用一个adodc控件里面的连接字符串,直接copy给cnn.ConnectionString,你右击adodc控件,然后点属性,你一看就会了。
      

  5.   

    http://www.mysql.com
    安装MySQL ODBC 3.51 Driver驱动
    The following ADO(ActiveX Data Objects) sample creates a table my_ado and demonstrates the usage of rs.addNew, rs.delete and rs.update. 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
      

  6.   

    http://expert.csdn.net/Expert/topic/2710/2710006.xml?temp=8.526248E-02