Announcement

Collapse
No announcement yet.

Applicationsverzeichnis

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Applicationsverzeichnis

    Hallo alle zusammen,

    ich steh grad etwas auf dem SChlauch und zwar hab ich eine Datei, die per Connection auf eine txt zugreift und denPfad der Datenbank (Access) ausließt.

    So wenn ich aber nun mein Projekt in einen anderen Ordner verschieben will, bleibt ja mein Pfad gleich und dass will ich ändern! Im Prinzip soll der Variabel sein, so dass er die TXT Datei immer findet.

    Hier ist meine Connection:
    Code:
    Imports System.Data.OleDb
    
    Public Class Datenzugriff
    
        Private Shared _conn As OleDbConnection = Nothing
    
    
        Public Shared Function GibConnection() As OleDbConnection
            
            If _conn IsNot Nothing Then Return _conn
            _conn = New OleDbConnection
    
            Dim sr As System.IO.StreamReader = My.Computer.FileSystem.OpenTextFileReader("C:\Visual Studio\Verwaltung\PfadDB.txt")
            Dim s As String = sr.ReadLine
            _conn.ConnectionString = s
    
            _conn.Open()
    
            Return _conn
        End Function
    End Class
    Ich hoffe ihr könnt mir helfen.

    Vielen dank

  • #2
    ^versuchmal

    [highlight=vbnet]
    dim Path as String = string.format("{0}PfadDB.txt",Application.StartupP ath)
    [/highlight]
    Unsere Jugend ist unerträglich, unverantwortlich und entsetzlich anzusehen! - Aristoteles

    Comment


    • #3
      Hallo,

      der Vorschlag von das-d ist nicht ganz abwegig. (Er ist nicht falsch, aber sehr ungünstig.) Folgende Anmerkungen:

      * Path ist Name einer Klasse und vieler Eigenschaften; es ist als Name einer lokalen Variablen eher ungünstig.

      * Für die Verknüpfung eines Dateinamens mit einem Pfad gibt es die Methode Path.Combine:
      Code:
      Dim MyFilename as String = Path.Combine(Application.StartupPath, "PfadDB.txt")
      * Im App-Verzeichnis sollte es keine Dateien geben, in denen etwas geändert wird (Ausnahme: was der Admin bei der Installation einträgt).

      Aber genau für diese Fälle ist die app.config gedacht, siehe in der SDK-Doku/MSDN "app.config-Dateien, Schema".

      Gruß Jürgen

      Comment


      • #4
        Danke für die Verbesserung Jürgen, an die Path Klasse hab ich jetz beim schnellen hintippeln gar nicht mehr gedacht, natürlich sollte man dies als Pfadnamen vermeiden. Und da ich nicht an die Path Klasse gedacht hab, hab ich auch die Combine Methode vergessen. Natürlich ist Jürgens Möglichkeit vorzuziehen.

        Was ich mir auch schon anfangs gedacht habe warum du den Pfad nicht als Projekteinstellungen einträgst.
        Im Programm lässt sich darauf einfach (wenn du sie zum beispiel Filename genannt hast) per
        [highlight=vbnet]
        my.settings.Filename
        [/highlight]
        zugreifen. Und es wäre eleganter und geht einfacher als eine Textdatei einzulesen. Ich denke auch dass es Performancemäßig einen Vorteil hat, da ja die Projektsettings beim Start eh durchsucht werden.
        Unsere Jugend ist unerträglich, unverantwortlich und entsetzlich anzusehen! - Aristoteles

        Comment

        Working...
        X