DotNET串連MYSQL資料庫有三種方法:
方法一:
使用MYSQL推出的MySQL Connector/Net is an ADO.NET driver for MySQL
該組件為MYSQL為ADO.NET訪問MYSQL資料庫設計的.NET訪問組件。
安裝完成該組件後,引用命名空間MySql.Data.MySqlClient;
使用命令列編譯時間:csc /r:MySql.Data.dll test.cs
方法二:
通過ODBC訪問MYSQL資料庫
訪問前要先下載兩個組件:odbc.net和MYSQL的ODBC驅動(MySQL Connector/ODBC (MyODBC) driver)目前為3.51版,安裝完成後,即可通過ODBC訪問MYSQL資料庫。
方法三:
使用CoreLab推出的MYSQL訪問組件,面向.NET
安裝完成後,引用命名空間:CoreLab.MySql;
使用命令編譯時間:csc /r:CoreLab.MySql.dll test.cs
以下為訪問MYSQL資料庫執行個體
編譯指令:csc /r:CoreLab.MySql.dll /r:MySql.Data.dll test.csusing System;
using System.Net;
using System.Text;
using CoreLab.MySql;
using System.Data.Odbc;
using MySql.Data.MySqlClient;
class ConnectMySql
{
public void Connect_CoreLab()
{
string constr = "User Id=root;Host=localhost;Database=qing;password=qing";
MySqlConnection mycn = new MySqlConnection(constr);
mycn.Open();
MySqlCommand mycm = new MySqlCommand("select * from shop",mycn);
MySqlDataReader msdr = mycm.ExecuteReader();
while(msdr.Read())
{
if (msdr.HasRows)
{
Console.WriteLine(msdr.GetString(0));
}
}
msdr.Close();
mycn.Close();
}
public void Connect_Odbc()
{
//string MyConString ="DSN=MySQL;UID=root;PWD=qing";
string MyConString = "DRIVER={MySQL ODBC 3.51 Driver};" +
"SERVER=localhost;" +
"DATABASE=test;" +
"UID=root;" +
"PASSWORD=qing;" +
"OPTION=3";
OdbcConnection MyConn = new OdbcConnection(MyConString);
MyConn.Open();
OdbcCommand mycm = new OdbcCommand("select * from hello",MyConn);
OdbcDataReader msdr = mycm.ExecuteReader();
while(msdr.Read())
{
if (msdr.HasRows)
{
Console.WriteLine(msdr.GetString(0));
}
}
msdr.Close();
MyConn.Close();
}
public void Connect_Net()
{
string myConnectionString = "Database=test;Data Source=localhost;User Id=root;Password=qing";
MySqlConnection mycn = new MySqlConnection(myConnectionString);
mycn.Open();
MySqlCommand mycm = new MySqlCommand("select * from hello",mycn);
MySqlDataReader msdr = mycm.ExecuteReader();
while(msdr.Read())
{
if (msdr.HasRows)
{
Console.WriteLine(msdr.GetString(0));
}
}
msdr.Close();
mycn.Close();
}
public static void Main()
{
ConnectMySql ms = new ConnectMySql();
ms.Connect_CoreLab();
ms.Connect_Odbc();
Connect_Net();
}
}
附:使用corelab的 oradirect.net data provider 也能串連並訪問oracle資料庫。不過,corelab的oradirect.net data provider 串連組件不是免費的,下載的demo版只能讀取前8列。
來源:http://school.ogdev.net/ArticleShow.asp?id=3550&categoryid=19