53 messaggi dal 26 luglio 2004
nel web.conifg ho definito:

<add name="ConnectionString1" connectionString="...." providerName="System.Data.SqlClient"/>

nelle pagine quando uso un datasource faccio:

< ... ConnectionString="<%$ ConnectionStrings:ConnectionString1 %>">

Ora però se voglio riferimi nel code behind alla stessa stringa di connessione come posso fare?

Ho usato:

Dim Conn As SqlConnection
Conn = New SqlConnection("Data Source=localhost;Initial Catalog=...;Persist Security Info=True;User ID=...;Password=...")

però vorrei evitare di ripetere tutti i dati e utilizzare ConnectionString1
Con il framework 2.0 usa l'apposita sezione nel web.config:

<connectionStrings>
<add 
 name="SQLServer" 
 connectionString="Data Source=localhost;...." 
 providerName="System.Data.SqlClient" />
</connectionStrings>


E poi nelle classi di accesso ai dati:

string providerKey = "SQLServer";
string cs = ConfigurationManager.ConnectionStrings[providerKey].ConnectionString;


Secondo la logica dei provider di .net 2.0 puoi dichiarare più stringhe di connessione (non è detto che un'applicazione usi un solo database) e recuperare il valore della stringa di connessione desiderata semplicemente cambiando il valore di "providerKey" nell'esempio precedente.

Analogamente è possibile recuperare anche il nome del provider (utile ad esempio se si usa una factory per ottenere l'istanza tipizzata della connection - SqlConnection, OleDbConnection, ecc.):

string providerKey = "SQLServer";
string providerName = ConfigurationManager.ConnectionStrings[providerKey].providerName;

Matteo Casati
GURU4.net
53 messaggi dal 26 luglio 2004
grazie, ho capito come fare
ciao

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.