Entwickler-Ecke
Datenbanken (inkl. ADO.NET) - Datenbankstring global deklarieren
Romy - Di 03.02.09 15:06
Titel: Datenbankstring global deklarieren
Hallo an alle!
Wie deklariere ich am besten den String zu einer Datenbank, also so, dass ich nicht jedes Mal den kompletten Pfad angeben muss (für Excel und Access)?
Ist eine einfache Methode sinnvoll oder gibt es eine andere Möglichkeit, den Sting zB global zu deklarieren und im Programm aufzurufen?
Die Deklarierung sieht derzeit so bei mir aus:
Excel:
C#-Quelltext
1: 2: 3:
| strQuelle = @"D:\SCHULE HAK\Maturaprojekt\CH_Chemialiendatenbank1.0\CH_Chemialiendatenbank1.0\bin\Debug\Chemikalien.xls"; string connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strQuelle + ";Extended Properties=Excel 8.0;"; |
Access:
C#-Quelltext
1: 2:
| strQuelle = "D:\\SCHULE HAK\\Maturaprojekt\\CH_Chemialiendatenbank1.0\\CH_Chemialiendatenbank1.0\\bin\\Debug\\Benutzer.mdb"; cn = "Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Password=;data source=" + strQuelle; |
Wer hat eine Idee, wie ich mein Problem am besten lösen kann?
Ich bin für jede Hilfe sehr dankbar!
Lg Romy
Kha - Di 03.02.09 18:16
jaenicke hat folgendes geschrieben : |
In der Anwendung selbst wäre eine entsprechende Methode vermutlich die beste Lösung, globale Variablen in dem Sinn gibt es in C# nicht. |
Wenn man den Ressourceneintrag in VS erstellt (standardmäßig gibts dafür Resources.resx), wird automatisch eine Klasse mit entsprechender Property erstellt :) .
Wenn der Pfad aber auf jeden Fall konstant bleibt, tut es auch ein
public static readonly string, am Besten natürlich in einer Klasse, die etwas mit der DB-Anbindung zu tun hat (wofür dann hoffentlich auch
privategenügt).
/edit: C# != Java...
rzwanziger - Di 17.03.09 12:21
Globale Variablen gibt es zwar nicht in C#, es gibt aber dennoch eine Lösung, in einer Windows-Forms-Anwendung aus allen Klassen heraus auf gemeinsame Variablen zuzugreifen.
Ich lege mir zu diesem Zweck immer eine statische Klasse "Global" an - Beispiel:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| public static class Global { public static string DBPATH = @"\Storage Card\mobile.db"; public static string DBERROR = ""; public static System.Drawing.Color COLOR_DISABLED = System.Drawing.Color.Orange; public static System.Data.SQLite.SQLiteConnection DBCONN = null; .... } |
So kann ich, über Angabe des Präfix "Global." aus allen Modulen heraus auf meine globale Klasse zugreifen. DAs Ganze macht natürlich auch nur da Sinn, wo Variablen und Methoden wirklich auch global gebraucht werden.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!