c#连接MySql数据库的两种方法

一、用MySQLDriverCS连接MySQL数据库

    先下载和安装MySQLDriverCS,地址:

    http://sourceforge.net/projects/mysqldrivercs/

    在安装文件夹下面找到MySQLDriver.dll,然后将MySQLDriver.dll添加引用到项目中

    注:我下载的是版本是 MySQLDriverCS-n-EasyQueryTools-4.0.1-DotNet2.0.exe

     using  System;
    
using  System.Collections.Generic;
    
using  System.ComponentModel;
    
using  System.Data;
    
using  System.Data.Odbc;
    
using  System.Drawing;
    
using  System.Linq;
    
using  System.Text;
    
using  System.Windows.Forms;
    
using  MySQLDriverCS;

    
namespace  mysql
    {
        
public   partial   class  Form1 : Form
        {
            
public  Form1()
            {
                InitializeComponent();
            }

            
private   void  Form1_Load( object  sender, EventArgs e)
            {
            MySQLConnection conn 
=   null ;
            conn 
=   new  MySQLConnection( new  MySQLConnectionString( " localhost " " inv " " root " " 831025 " ).AsString);
            conn.Open();
            MySQLCommand commn 
=   new  MySQLCommand( " set names gb2312 " , conn);
            commn.ExecuteNonQuery();
            
string  sql  =   " select * from exchange  " ;
            MySQLDataAdapter mda 
=   new  MySQLDataAdapter(sql, conn);
            DataSet ds 
=   new  DataSet();
            mda.Fill(ds, 
" table1 " );
            
this .dataGrid1.DataSource  =  ds.Tables[ " table1 " ];
            conn.Close();
            }
        }
    }


二、通过ODBC访问mysql数据库:

    1.安装Microsoft ODBC.net:我安装的是mysql-connector-odbc-3.51.22-win32.msi

    2.安装MDAC 2.7或者更高版本:我安装的是mdac_typ.exe 2.7简体中文版

    3.安装MySQL的ODBC驱动程序:我安装的是 odbc_net.msi

    4.管理工具 -> 数据源ODBC –>配置DSN…

    5.解决方案管理中添加引用 Microsoft.Data.Odbc.dll(1.0.3300)

    6.代码中增加引用 using Microsoft.Data.Odbc;

     using  System;
    
using  System.Collections.Generic;
    
using  System.ComponentModel
    
using  System.Drawing;
    
using  System.Linq;    // vs2005好像没有这个命名空间,在c#2008下测试自动生成的
     using  System.Text;
    
using  System.Windows.Forms;
    
using  Microsoft.Data.Odbc;

    
namespace  mysql
    {
        
public   partial   class  Form1 : Form
        {
            
public  Form1()
            {
                InitializeComponent();
            }

            
private   void  Form1_Load( object  sender, EventArgs e)
            {
                
string  MyConString  =   " DRIVER={MySQL ODBC 3.51 Driver}; "   +

                                     
" SERVER=localhost; "   +

                                     
" DATABASE=inv; "   +

                                     
" UID=root; "   +

                                     
" PASSWORD=831025; "   +

                                     
" OPTION=3 " ;

                OdbcConnection MyConnection 
=   new  OdbcConnection(MyConString);
                MyConnection.Open();
                Console.WriteLine(
"  success, connected successfully ! " );
                
string  query  =   " insert into test values( 'hello', 'lucas', 'liu') " ;
                OdbcCommand cmd 
=   new  OdbcCommand(query, MyConnection);
                
// 处理异常:插入重复记录有异常
                 try
                {
                     cmd.ExecuteNonQuery();
                 }

                
catch (Exception ex)
                 {
                     Console.WriteLine(
" record duplicate. " );
                 }

                 
finally
                 {
                     cmd.Dispose();
                 }

    
// ***********************用read方法读数据到textbox**********************

                
string  tmp1  =   null ;
                
string  tmp2  =   null ;
                
string  tmp3  =   null ;
                query 
=   " select * from test  " ;
                OdbcCommand cmd2 
=   new  OdbcCommand(query, MyConnection);
                OdbcDataReader reader 
=  cmd2.ExecuteReader();

                
while  (reader.Read())
                {
                    tmp1 
=  reader[ 0 ].ToString();
                    tmp2 
=  reader[ 1 ].ToString();
                    tmp3 
=  reader[ 2 ].ToString();
                }
                
this .textBox1.Text  =  tmp1  +   "   "   +  tmp2  +   "   "   +  tmp3;

                
*/

    
// ************************用datagridview控件显示数据表**************************
     string  MyConString  =   " DRIVER={MySQL ODBC 3.51 Driver}; "   +
                                     
" SERVER=localhost; "   +
                                     
" DATABASE=inv; "   +
                                     
" UID=root; "   +
                                     
" PASSWORD=831025; "   +
                                     
" OPTION=3 " ;
              OdbcConnection MyConnection 
=   new  OdbcConnection(MyConString);
              OdbcDataAdapter oda 
=   new  OdbcDataAdapter( " select * from customer  " , MyConnection);
              DataSet ds 
=   new  DataSet();
              oda.Fill(ds, 
" employee " );
              
this .dataGridView1.DataSource  =  ds.Tables[ " employee " ];
    
*/
               MyConnection.Close();
            }
        }
    }

你可能感兴趣的:(.NET)