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

来源:互联网 发布:浙大软件学院好考么 编辑:程序博客网 时间:2024/05/22 03:09
一、用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();
            }
        }
    }
原创粉丝点击