[英]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將繼續運行,但生成的項目可能無法正常構建。 “
筆記:
假設ODBC(不是唯一的選項),它應該只是一個問題:
OdbcConnection conn = new OdbcConnection(connectionString);
conn.Open();
編輯:哦,如果它是從web.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.