2010-04-23 5 views
2

donc je suis très très loin d'un expert sur MVC ou ASP.NET. Je veux juste faire quelques contrôleurs simples en C# pour le moment, donc j'ai la question suivante;ASP.NET MVC 2, réutilisation de la chaîne de connexion SQL

En ce moment j'ai la chaîne de connexion utilisée par le contrôleur, -inside- le contrôleur lui-même. Ce qui est un peu stupide quand il y a plusieurs contrôleurs utilisant la même chaîne. Je voudrais être en mesure de changer la chaîne de connexion dans un seul endroit et l'avoir affecter tous les contrôleurs.

Ne sachant pas grand-chose sur asp.net ou les parties 'm' et 'v' de MVC, quelle serait la meilleure (et la plus simple) façon d'y arriver?

J'apprécierais n'importe quelle contribution sur ceci, les exemples seraient grands aussi.

Répondre

1

Vous pouvez ajouter une chaîne de connexion au fichier web.config comme ceci:

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

et l'utiliser dans votre code comme ceci:

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

avis la première ligne. Cet exemple est pour VB mais vous devriez être capable de faire la même chose en C#.

L'exemple est tiré de ce lien http://www.dotnetjohn.com/articles.aspx?articleid=3, mais il y en a des tonnes partout.

Espérons que cela aide.

+1

Impressionnant, voici ma réponse. Merci:] – cc0

+0

Juste heureux d'aider :) –

2

Mettez-le dans votre fichier web.config comme ceci:

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

<connectionStrings> est juste un enfant de l'élément racine <configuration>.

Ensuite, vous pouvez le lire comme:

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

HTHS, Charles

+0

Merci, c'est une bonne explication! – cc0