簡體   English   中英

如何連接到ASP.NET Web應用程序中的MySql數據庫?

[英]How to connect to a MySql database in ASP.NET web application?

假設我的Web.config中已經有一個名為' myConn '的正確連接字符串。 數據庫位於不同的服務器上,是MySQL。 如何在ASP.NET Web應用程序中連接到此數據庫?

我嘗試了什么:
我嘗試安裝' 帶有WCF支持的' ADO.NET C#DbContext生成器 ',但是在我的臉上爆出了錯誤消息' 程序集引用“System.Data.Entity”無法添加到項目中。 這個wizar將繼續運行,但生成的項目可能無法正常構建。

筆記:

  • 使用Visual Studio 2010(版本10.0.40219.1 SP1Rel)
  • 使用.NET Framework 2.0

假設ODBC(不是唯一的選項),它應該只是一個問題:

OdbcConnection conn = new OdbcConnection(connectionString);
conn.Open();

編輯:哦,如果它是從we​​b.config獲取它你想知道(可能不是,但誰知道),該部分將是:

string connectionString = System.Configuration.ConfigurationManager.AppSettings["myConn"].ToString(); //ToString here is optional unless you're doing some weirdness in the web.config

根據您的要求,這是obdc數據操作背后的基礎知識:

以下是查詢類型語句:

string command = "SELECT Something FROM SomeTable WHERE SomethingElse = '%" + "@Parameter1" + "%' AND SomethingElseStill LIKE '%" + @Parameter2 + "%' ";
using (OdbcConnection connection = new OdbcConnection(connectionString))
{
    OdbcCommand command = new OdbcCommand(command, conn);
    command.Parameters.Add("@Parameter1", OdbcType.VarChar, 255);
    command.Parameters["@Parameter1"].Value = "SomeString"
    command.Parameters.Add("@Parameter2", OdbcType.Int);
    int SomeInteger = 1;
    command.Parameters["@Parameter2"].Value = SomeInteger;
    OdbcDataAdapter adapter = new OdbcDataAdapter(command,con);
    DataSet Data = new DataSet();
    adapter.Fill(Data);
}

這將使用數據庫中的數據並使用OdbcDataAdapter對象將其推送到DataTable對象中。 這不是唯一的方法,但它肯定是最基本的。 看看這個很好的答案 ,可以使用一點點反射將結果轉換為所需對象的列表。 你也可以使用像LINQ這樣的東西將數據映射到自定義類,但我會把這一點留給你。

無論如何,這里是相同的,但有一個非查詢:

string command = "INSERT INTO SomeTable (column1, column2, column3) VALUES '%" + "@Parameter1" + "%', '%" + "@Parameter2" + "%', '%" + "@Parameter3" + "%' ";
using (OdbcConnection connection = new OdbcConnection(connectionString))
{
    OdbcCommand command = new OdbcCommand(command, conn);
    command.Parameters.Add("@Parameter1", OdbcType.VarChar, 255);
    command.Parameters["@Parameter1"].Value = "SomeString"
    command.Parameters.Add("@Parameter2", OdbcType.Int);
    int SomeInteger = 1;
    command.Parameters["@Parameter2"].Value = SomeInteger;
    command.Parameters.Add("@Parameter3", OdbcType.VarChar, 255);
    command.Parameters["@Parameter3"].Value = "SomeOtherStringOrSomething";
    command.ExecuteNonQuery();
}

確保檢查我的引用和內容,就像我在StackOverflow編輯器中寫的那樣,而不是任何類型的IDE,所以不幸的是我沒有得到語法高亮:P

如果它是一個不同的服務器,但它是相同的數據庫,具有相同的憑據,您需要做的就是將連接字符串指向新服務器的IP地址,它應該工作。

檢查Refernece:System.Data.DataSetExtensions

 using System.Data.Odbc;

 private const string ConnStr = "Driver={MySQL ODBC 3.51    Driver};
 Server=localhost;Database=test;uid=root;pwd=;option=3";

甚至你可以在web.config中放入connectionstring ..

由於您使用的是.NET 2.0,因此無法使用實體框架或System.Data.Entity

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM