VB怎么去访问MySQL啊?能提供代码片断最好!

解决方案 »

  1.   

    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  
      

  2.   

    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  
      

  3.   


    安装MySQL  ODBC  3.51  Driver  去www.mysql.com下载
      

  4.   

    private mycon as adodb.connection
    private myrs as adodb.recordset 
    set myconn=new connection 
    myconn.connectionouttime=30
    myconn.open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=cominfo;Data Source=lover"
    set myrs=new recordset
    myrs.open"information",myconn,ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockOptimistic说明:我使用的是windows集成登陆方式,其中cominfo代表你将要连接的数据库的名称,lover代表服务器的名称,information代表表的名称,
    其他代码照写。
      

  5.   

    你可以使用ADO控件,进行数据库的字符串连结,根据提示进行数据库选择,输入用户名和密码,然后测试,测试成功后,在控件的字符串显示的地方显示了连结数据库的字符串,拷贝一下,引用ADO,使ConnectionString等于拷贝的字符串
      

  6.   

    你可以试一下,很方便,部件中有ADO6.0控件,加载一下
      

  7.   

    去www.mysql.com下载MySQL  ODBC  3.51  Driver  
      

  8.   


       Dim  cnn1  As  new ADODB.Connection  
       Dim  myrs  As new ADODB.Recordset 
       Dim sql As String
       cnn1.ConnectionString  =  "DRIVER={MySQL  ODBC  3.51  Driver};"_         &"SERVER=aaa;"&"DATABASE=base1;" & "UID=sa;PWD=1234;  OPTION=3" 
       cnn1.open
       sql="select * from tabal1 where name="+"'"+text1.text+"'"
       set myrs=cnn1.exectue(sql)
       if myrs.eof then
        msgbox"查无此人"
        else
         do while not myrs.eof
          ....
         myrs.movenext
        loop
       end if
      cnn1.close
      

  9.   


       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
      

  10.   

    http://www.mysql.com/Downloads/Win32/MyOLEDB3.exe
    http://www.mysql.com/Downloads/Win32/MyOLEDB.chm
    http://www.mysql.com/Downloads/Win32/MyOLEDB.exe