Risposte:
Devi aggiungere un riferimento a System.Configuration
e quindi utilizzare:
System.Configuration.ConfigurationManager.
ConnectionStrings["connectionStringName"].ConnectionString;
C #
// Add a using directive at the top of your code file
using System.Configuration;
// Within the code body set your variable
string cs = ConfigurationManager.ConnectionStrings["connectionStringName"].ConnectionString;
VB
' Add an Imports statement at the top of your code file
Imports System.Configuration
' Within the code body set your variable
Dim cs as String = ConfigurationManager.ConnectionStrings("connectionStringName").ConnectionString
Immagino che sia necessario aggiungere un riferimento all'assembly System.Configuration se non è già stato aggiunto.
Inoltre, potrebbe essere necessario inserire la seguente riga nella parte superiore del file di codice:
using System.Configuration;
In VB
: Questo dovrebbe funzionare
ConfigurationManager.ConnectionStrings("SQLServer").ConnectionString
In C#
esso sarebbe (come da commento di Ala)
ConfigurationManager.ConnectionStrings["SQLServer"].ConnectionString
ConfigurationManager.ConnectionStrings["SQLServer"].ConnectionString
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.DataVisualization.Charting;
using System.Web.UI.WebControls;
C #
string constring = ConfigurationManager.ConnectionStrings["ABCD"].ConnectionString;
using (SqlConnection con = new SqlConnection(constring))
SOTTO CODICE FILE WEB.CONFIG
<connectionStrings>
<add name="ABCD" connectionString="Data Source=DESKTOP-SU3NKUU\MSSQLSERVER2016;Initial Catalog=TESTKISWRMIP;Integrated Security=True" providerName="System.Data.SqlClient"/>
</connectionStrings>
Nel codice sopra ABCD è il nome della connessione
for
ciclo ( for (int i = 0; i < numOfConnections; i++) { var conn = ConfigurationManager.ConnectionStrings[i]; ... }
) e renderle selezionabili in una casella combinata. Con var numOfConnections = ConfigurationManager.ConnectionStrings.Count;
te puoi determinare quante stringhe di connessione esistono. In questo esempio conn.Name
contiene il nome della connessione.
Devi invocare questa classe nella parte superiore della tua pagina o classe:
using System.Configuration;
Quindi è possibile utilizzare questo metodo che restituisce la stringa di connessione pronta per essere passata all'oggetto sqlconnection per continuare il lavoro come segue:
private string ReturnConnectionString()
{
// Put the name the Sqlconnection from WebConfig..
return ConfigurationManager.ConnectionStrings["DBWebConfigString"].ConnectionString;
}
Giusto per fare un chiaro chiarimento, questo è il valore nella configurazione Web:
<add name="DBWebConfigString" connectionString="....." /> </connectionStrings>
using System.Configuration;
string conn = ConfigurationManager.ConnectionStrings["ConStringName"].ToString();
using System.Configuration;
string connString = ConfigurationManager.ConnectionStrings["ConStringName"].ToString();
Ricorda di non utilizzare ConnectionStrings [indice] perché potresti configurare Global Machine Config e Portability
Tutti sembrano suggerire che l'aggiunta
using System.Configuration;
che è vero.
Ma potrei suggerirti di pensare all'installazione dell'estensione Visual Studio di ReSharper?
Con esso installato, invece di vedere un errore che non è definita una classe, vedrai un prompt che ti dice in quale assembly è, chiedendoti se vuoi che aggiunga l'istruzione using necessaria.
System.Configuration.dll
.