Wie ermittelt man den Connectionstring zum anbinden
einer lokalen Datenbank in Windows Forms Winforms
Fundort Connectionstring:
Wo finde ich den Connection String der lokalen Datenbank
in Windows Forms?
Der Connectionstring ist in der App.Config gelagert als
XML Struktur
Die ausgefüllte App.config in Winforms sieht wie hier
aus:
Die enthält eine Node mit der Bezeichung connectionstrings.
In dieser wird mit add ein Verweis zu einer Datenbank erstellt.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
</configSections>
<connectionStrings>
<add name="webrobot_ebayKleinanzeigen.Properties.Settings.dbRobotConnectionString"
connectionString="Data
Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\data\dbRobot.mdf;Integrated
Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1"/>
</startup>
</configuration>
|
Mit providerName=SqlClient wird die Datenbank
automatisch einem SQL Server zugeordnet.
Das heißt, wenn man Daten von der Datenbank anfordert
oder sendet, werden die Daten über einen SQL Server auf dem gleichen Rechner
bearbeitet.
<add name="webrobot_ebayKleinanzeigen.Properties.Settings.dbRobotConnectionString"
connectionString="Data
Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\data\dbRobot.mdf;Integrated
Security=True"
providerName="System.Data.SqlClient"
/>
|
2. Settings
Durch die Bezeichnug <add..> wird der
Connectionstring automatisch in die Settings der Anwendung kopiert oder zugeordnet.
In den Settings steht der Wert ebenfalls direct als
connectionstring.
Data
Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\data\dbRobot.mdf;Integrated
Security=True
|
Settings
in Visual Studio
Anwendung
Zugriff auf den Connectionstring
2a) Mit System.Configuration
Man kann den aktuellen Connectionstring mit 2 Weisen
anbinden.
Anbindung mit System.Configuration
Hierzu muss man die Referenz System.Configuration
hinzufügen
private void
load_data()
{
string cn_string
= System.Configuration.ConfigurationManager.ConnectionStrings["webrobot_ebayKleinanzeigen.Properties.Settings.dbRobotConnectionString"].ConnectionString;
SqlConnection
cn = new SqlConnection(cn_string);
…
}
|
2a) Mit Settings
Einfacher ist es über Properties.Settings.Default. die
aktuellen Connectionstring eintstellungen zu ermitteln
//via app-Settings
string cn_string = Properties.Settings.Default.app_ConnectionString;
//</
init >
..
SqlConnection cn = new SqlConnection(cn_string);
if (cn.State != ConnectionState.Open) cn.Open();
..
|
#Winforms
Datenbank Connection String Connectionstring LocaleDB