程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#基礎知識 >> c#連接MySql數據庫的兩種方法

c#連接MySql數據庫的兩種方法

編輯:C#基礎知識

測試環境:Windows XP + MySql 5.0.24 + Visual C# 2008 Exdivss Edition
By lucas 2008.12.29
1、用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();
        }
    }
}

2、通過ODBC訪問mysql數據庫:
參考:http://www.microsoft.com/china/community/Column/63.mspx
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("\n success, connected successfully !\n");
            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();
        }
    }
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved