Forums Neueste Beiträge
 

2 Fragen zur Anwendung von mehreren Connection-Strings.

02/03/2009 - 16:28 von M.Erlinger | Report spam
Hallo

ich habe folgende Frage: In meiner C#-Applikation möchte ich bei der
Login-Form eine ComboBox hinzufügen, in der alle Connection-Strings
der Settings aufgelistet werden.
Ich habe hier 2 oder 3 Conn.String zu unterschiedlichen Datenbanken.
1Frage: Ist es möglich die "Properties.Settings.Default...:" zu
durchlaufen, um alle Connection-Strings herauszufinden, um den Namen
dann der ComboBox hinzu zu fügen ??

2. Frage: wenn dann der User eine Auswahl aus der ComboBox trifft, wie
kann ich die derzeit verwendetet Zeile:
SqlConnectionStringBuilder csb = new SqlConnectionStringBuilder
(Properties.Settings.Default.MyConnectionString);

umbauen, so dass diese dann "dynamisch" mit dem ausgewàhlten
ConnectionString verwendet werden kann ??

Danke für eine Hilfe dazu.
Schönen Gruß
Michael
 

Lesen sie die antworten

#1 Frank Dzaebel
02/03/2009 - 18:56 | Warnen spam
Hallo Michael,

Ich habe hier 2 oder 3 Conn.String zu unterschiedlichen Datenbanken.



Da Du SqlConnectionStringBuilder benutzt, nehme ich
an, dass es nur SqlConnection's sind. Ansonsten müsste
man zum Beispiel mit DbConnection und
DbProviderFactory.CreateConnection etc. arbeiten.

Ein Beispiel:

Properties.Settings Props = Properties.Settings.Default;
SqlConnection conn;

private void Form1_Load(object sender, EventArgs e)
{
foreach (SettingsProperty p in Props.Properties)
foreach (object att in p.Attributes.Values)
if (att is SpecialSettingAttribute)
{
SpecialSettingAttribute sa = att as SpecialSettingAttribute;
if (sa.SpecialSetting == SpecialSetting.ConnectionString)
comboBox1.Items.Add(p);
}
comboBox1.SelectedIndexChanged += new
EventHandler(comboBox1_SelectedIndexChanged);
comboBox1.DisplayMember = "Name";
comboBox1.SelectedIndex = 0;
}

void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
SettingsProperty p = ((ComboBox)sender).SelectedItem as SettingsProperty;
conn = new SqlConnection(Props[p.Name].ToString());
MessageBox.Show("neuer ConnectionString: " + conn.ConnectionString);
}


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen