2008-12-11 61 views
3

我的任務是爲傳統網站創建新的前端。如何設置MySQL以使用C#?

它用php(pre-oo)編寫,並使用MySQL數據庫。主機提供了.Net包,但不提供Ms Sql Server。

這很好,因爲數據庫工作正常,但我真的想爲頁面使用Asp.net。但是,我從C#連接到MySQL的大多數教程都要求安裝專門用於MySQL的ODBC驅動程序。不控制主機環境,我懷疑我能做到這一點:)

你有什麼見解分享這個問題?

回答

9

MySql確實有.net的connector。您不需要使用ODBC,MySql Connector將允許您與MySql數據庫進行交互,並且是完全託管的ADO.Net提供程序。如果您願意,您可以使用二進制(dll)或源代碼。這很簡單,一旦你導入了dll,你只需要一個連接字符串(用戶名,密碼,位置),你就可以安裝了!

這裏是一個代碼示例(參考:bitdaddy.com):

string MyConString = "SERVER=localhost;" + 
    "DATABASE=mydatabase;" + 
    "UID=testuser;" + 
    "PASSWORD=testpassword;"; 
MySqlConnection connection = new MySqlConnection(MyConString); 
MySqlCommand command = connection.CreateCommand(); 
MySqlDataReader Reader; 
command.CommandText = "select * from mycustomers"; 
connection.Open(); 
Reader = command.ExecuteReader(); 
while (Reader.Read()) 
{ 
    string thisrow = ""; 
    for (int i= 0;i<Reader.FieldCount;i++) 
      thisrow+=Reader.GetValue(i).ToString() + ","; 
    listBox1.Items.Add(thisrow); 
} 
connection.Close(); 

我建議你不要把你的代碼和毅力,在同一個地方,把你的Connexion的字符串中你App.Config中,但我認爲這會告訴你如何去做。

+0

你如何「導入dll」? – 2012-08-29 23:56:42

0

同意帕特里克德信,再加上想增加與MySQL進行交互是最簡單的方法是

  1. 獲取MySQL connector for .Net v6.0 - 這對 Entity Framework
  2. 創建使用 ADO數據模型層的支持。網實體模型與數據庫進行交互

OR

你也可以看看Linq to MySQL provider的實現 - 這很不錯。

我以前的選擇去了,當時我有類似的要求。