Autor Beitrag
chazon
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Do 27.01.11 20:13 
Hallo Leute

Ich habe mit dem Assistenten eine Verbindung zum lokalen MSSql Server mit DB in meinem Projekt hergestellt. Nun möchte ich später in dem fertigen Programm die Verbindung variabel halten, dh die Datenbank kann dann auf einem entfernten Server gespeichert sein.

Meine Frage : Wo ändere ich diese Daten
Eine Suche hat mich zu XML Dateien geführt???

Danke und Gruß
chazon

PS progge mit VS2010
MSSql Server 2008 Express

Moderiert von user profile iconNarses: Überflüssige Zeilenumbrüche/Leerzeilen entfernt.
Trashkid2000
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 561
Erhaltene Danke: 137



BeitragVerfasst: Fr 28.01.11 08:12 
Hallo,
also wenn Du die Verbindung über den Designer eingerichtet hast, dann wird der ConnectionString in den Settings gespeichert. Und das ist eine XML, wo auch noch nachträglich der ConnectionString geändert werden kann.
LG
chazon Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Di 01.02.11 21:04 
Danke für die ANtwort.

Sicherlich kann ich während der Programmier-Arbeiten immer die XML Datei ändern.
Aber wenn cih das Programm weitergebe, gechieht das ohne diese Datei
Meine Frage zielt dahin , dass ich innerhalb der Software zu jeder Zeit die
Server und ANmeldedaten ändern möchte.
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4799
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Di 01.02.11 21:21 
Hallo chazon,

erstelle dir über die Settings einen entsprechenden Eintrag, so daß der ConnectionString bzw. nur der Servername dann in der "app.config" gespeichert wird.
Beim Erzeugen des Projektes (build) wird dann die app.config als "<projectname>.exe.config" in das Debug bzw. Release-Verzeichnis mitkopiert, so daß du nach Weitergabe sowohl der Anwendung (*.exe) als auch dieser Konfigurationsdatei dann nachträglich den Eintrag ändern kannst.
Im Code mußt du dann selbstverständlich auf diesen Settings-Eintrag zugreifen, z.B.
ausblenden C#-Quelltext
1:
2:
3:
4:
string connectionString = Properties.Settings.Default.ConnectionString;
// bzw.
string server = Properties.Settings.Default.Server;
// und dann diesen 'server' in den ConnectionString einbauen (z.B. mittels String.Format)
chazon Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Di 01.02.11 22:16 
Daran hatte ich auch schon gedacht, aber eine Zuweisung mit
Properties.settings.Default.Connectionstring = ...
ergibt einben Fehler, der besagt dass dieser schreibgeschützt ist.
stendate
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 19
Erhaltene Danke: 1



BeitragVerfasst: Di 01.02.11 22:34 
user profile iconchazon hat folgendes geschrieben Zum zitierten Posting springen:
Daran hatte ich auch schon gedacht, aber eine Zuweisung mit
Properties.settings.Default.Connectionstring = ...
ergibt einben Fehler, der besagt dass dieser schreibgeschützt ist.


Geht aber, gerade Probiert. Zugriffsmodizizierer steht auf "Internal" und Bereich auf "Benutzer" in den Projekteigenschaften.
chazon Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Di 01.02.11 22:51 
Klappt bei mir nicht !?!

Der Assistent fügt diese Verbindungszeichenfolge bei den EInstellungen ein
Dabei ist der Typ auf (Verbindungszeichenfolge) und der Bereich auf "Anwendung" gesetzt
Zugrifsmodifizierer ist Internal
Bei auch nur einer Änderung hagelt es Fehlermeldungen.

PS:
Hab es in Settings.Designer.cs bei der Schnittstellen Deklaration
versucht

public string HSVereinConnectionString1 {
get {
return ((string)(this["HSVereinConnectionString1"]));
}
** set
** {
** this["HSVereinConnectionString1"] = value;
** }

**) Das habe ich hinzugefügt, un schon kann ich den Wert ändern.
Hoffentlich hat das kein FOlgen ;-))
chazon Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Di 01.02.11 23:09 
Danke für Deine Hilfe
gruß chazon