Laden...

Connection Sting änderbar durch Benutzer

Erstellt von Chris6600 vor 3 Jahren Letzter Beitrag vor 3 Jahren 460 Views
C
Chris6600 Themenstarter:in
2 Beiträge seit 2021
vor 3 Jahren
Connection Sting änderbar durch Benutzer

Hallo,

ich habe eine kleine Datenbankanwendung für eine Access Datenbank.
Ich befülle mittel einem Dataset Adapter ein DataGridview.

Nun würde ich gerne dem Benutzer erlauben den Pfad für die Data Source selbst einzustellen.
Diese Data Source sollte dann auch beim schließen und öffnen der Anwendung beibehalten werden.

Wie kann ich sowas realisieren?

Danke im Voraus


private void Form1_Load(object sender, EventArgs e)
        {
            con.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;" +
                    "Data Source=E:\\Kuehltruhe\\Kuehltruhe.accdb";
            cmd.Connection = con;
            Ausgabe();

        }

16.833 Beiträge seit 2008
vor 3 Jahren

Access ist keine Datenbank. Access ist ein RAD Tool, das Du als Datenbank missbrauchst.
Access war jedoch nie für das isolierte Speichern im Sinne einer Datenbank gedacht; daher gibt es auch in 99,9999% aller Applikationen, die Access verwenden, Datenverluste und andere Probleme mit Access.

Wenn Du lokal Daten speichern willst, dann nimm sowas wie Sqlite; nicht Access.
Overview - Microsoft.Data.Sqlite

Wie kann ich sowas realisieren?

Über die die Anwendungs- oder Benutzereinstellungen. Einfach mal in den Docs schauen.
Using Application Settings and User Settings - Windows Forms .NET Framework

T
50 Beiträge seit 2014
vor 3 Jahren

...
daher gibt es auch in 99,9999% aller Applikationen, die Access verwenden, Datenverluste und andere Probleme mit Access.
...

Zum Glück hat das niemand, in den 18 Jahren in denen unsere sehr umfangreichen Access-Applikationen liefen, denen gesagt.

Sorry für OT - konnte ich mir nicht verkneifen..

16.833 Beiträge seit 2008
vor 3 Jahren

Bitte richtig lesen, wenn es schon Off-Topic sein muss:
Es ist ein Unterschied, der sich auf die Häufigkeit der Fehler / Defekte auswirkt, ob man von einer Access-Anwendung in einer Access-Runtime spricht oder von einer Access-Datenbank, die von Extern angesprochen wird, wie es hier der Fall ist.

Defekte / korrupte Datenbank-Dateien von Access haben so eine extreme Häufigkeit, dass sich drum herum ein eigenes Ökosystem an Repair- und Backup-Tools entwickelt hat.
Der bekannteste Fehler ist Google Suche nach "It may not be a database that your application recognizes"

Wenn ihr 18 Jahre lang umfangreiche (was relativ ist) Access-Anwendungen betrieben habt, die nie korrupte Datenbank-Dateien hatten, dann kann ich das basierend auf meiner Erfahrung (was ich in Foren (zB hier), Blogs und bei meinen Kunden sehe) nur als Glück bezeichnen.

309 Beiträge seit 2020
vor 3 Jahren

sehr umfangreichen Access-Applikationen

Das sieht man so erstaunlich oft in der Paxis. Nur original von ehemaligen Visual Basic 6 Entwicklern. 🙂

C
Chris6600 Themenstarter:in
2 Beiträge seit 2021
vor 3 Jahren

Vielen Danke für die Umfangreichen Antworten.....
das war aber nicht meine Frage. Ich denke für 100 Datensäte für den
Haushaltsgebrauch wird es reichen.

Ich wollte eigentlich eher wissen wie ich da vorgehe, was ist der richtige weg
um diese dem Anwender zu ermöglichen. Welche verschieden Möglichkeiten gibt
es?

Danke

16.833 Beiträge seit 2008
vor 3 Jahren

Hab ich Dir doch schon im ersten Beitrag beantwortet: die Benutzersettings.
Willst das nicht, dann musst Dir eben selbst nen entsprechenden Speichermechanismus programmieren.
Halte Dich dazu an die Empfehlungen von Windows, siehe Environment.SpecialFolder Enumeration