2010-04-23 38 views
2

所以我離MVC或ASP.NET的專家非常遙遠。我現在只想在C#中創建一些簡單的控制器,所以我有以下問題;ASP.NET MVC 2,重新使用SQL連接字符串

現在我有控制器使用的連接字符串,內部控制器本身。當有多個控制器使用相同的字符串時,這是很愚蠢的。我希望能夠在一個地方更改連接字符串,並影響所有控制器。

不知道很多關於asp.net或MVC的'm'和'v'部分,什麼是最好的(也是最簡單的)完成這個任務的方法?

我很感激這方面的任何意見,例子也會很棒。

回答

1

您可以在連接字符串添加到這樣的web.config文件:

<configuration> 
    <appSettings> 
    <add key="ConnectionString" 
     value="server=localhost;database=Northwind;uid=sa;password=secret;"/> 
    </appSettings> 
    <system.web> 
    <customErrors mode="Off"/> 
    </system.web> 
</configuration> 

,並用它在你的代碼是這樣的:

strConnection = ConfigurationSettings.AppSettings("ConnectionString") // <----- 
sqlConn = New SqlConnection(strConnection) 
sqlCmd = New SqlCommand("SELECT * FROM Customers WHERE " & "(CompanyName LIKE 'A%') OR (CompanyName LIKE 'B%')", sqlConn) 

注意到的第一線。這個例子適用於VB,但您應該可以在C#中執行相同的操作。

這個例子取自這個鏈接http://www.dotnetjohn.com/articles.aspx?articleid=3,但是到處都是它們。

希望這會有所幫助。

+1

真棒,這就是我的回答。謝謝:] – cc0 2010-04-23 23:12:38

+0

只是很高興幫助:) – 2010-04-23 23:16:46

2

把它放在你的web.config文件,像這樣:

<connectionStrings> 
    <add name="ConnectionName" connectionString="TheConnectionString" providerName="System.Data.SqlClient" /> 
</connectionStrings> 

<connectionStrings>僅僅是一個根<configuration>元素的孩子。

然後你可以看它像:

string myConnStr = ConfigurationManager.ConnectionStrings["ConnectionName"].ConnectionString; 

HTHS, 查爾斯

+0

謝謝,這是一個很好的解釋! – cc0 2010-04-23 23:13:13