Datenbank oder Registry?
-
Hallo Leute,
ich möchte gerne E-Mailadressen für ein selbstgeschriebenes E-Mail-Programm speichern.
Diese gespeicherte Adressen werden dem "An-Feld" wie z.B. bei Outlook über die Funktion...text_An->AutoCompleteCustomSource->Add(_adresse);
...zur Verfügung gestellt.
Nun meine Fragen.
1. Frage:Soll ich die Adressen lieber in einer Datenbank speichern oder doch in der Registry?
"Das einlesen aus der Datenbank dauert gleich lange wie aus der Registry.
Ich habe das mit 8000 Einträgen getestet."2. Frage:
Wie viel Adressen sollte man überhaupt speichern 100 oder sogar 5000.
Was ist Sinnvoll?Gruß Sabrina
:xmas2:
-
Das müsstest du schon selber wissen wieviele Adressen du speichern willst. Aufjedenfall sind Datenbanken und die Registrieung nicht dazu gedacht einfache eMail Adressen als Zeichenketten zu speichern. Falls es sich nur darum handelt!?
Meinst du nicht es reicht eine einfache Textdatei (XML, csv, etc.)? Mit guten XML Parsern kannst du eine XML Datei sicher auch zügig auslesen wenn die dazu noch richtig strukturiert ist, alphabetisch zum Beispiel.
-
oneill5000 schrieb:
Aufjedenfall sind Datenbanken und die Registrieung nicht dazu gedacht einfache eMail Adressen als Zeichenketten zu speichern. Falls es sich nur darum handelt!?
Wieso nicht?
Die Verknüpfungen zu den Projekten in Visual Studio und zu den Dateien in Word und Excel und Co. werden in der Registrierung gespeichert.
Und eine Datenbank ist doch dafür da um Daten zu speichern.
Auch wenn es nur Email-Adressen sind.Mit XML habe ich keine Erfahrung.
Gruß
-
Lass die Finger von der Registry und müll sie nicht mit unnötigen Daten zu!
Eine Datenbank kann sich lohnen, wenn noch mehr Daten hin zu kommen und die mit den Adressen verknüpft werden sollen. Für ein pures abspeichern von Adressen reicht eine einfache Textdatei.
-
@Sabrina_1987
Knuddlbaer schrieb:
Lass die Finger von der Registrie und müll sie nicht mit unnötigen Daten zu!
Eine Datenbank kann sich lohnen, wenn noch mehr Daten hin zu kommen und die mit den Adressen verknüpft werden sollen. Für ein pures abspeichern von Adressen reicht eine einfache Textdatei.
Genau so meinte ich das auch.
-
Und was ist mit Visual Studio, WinWord, Excel und Co?
Die machen das doch auch.
Bei Microsoft ist das Ok!?
Wofür sollte man die Registry nutzen?
Doch auch für solche Dinge!?
-
Bist du ein bisschen doof!?
EDIT: ich meine wieso fragst du wenn du auf die Antworten dann so reagierst. Nicht alles was MS macht ist so auch gut, und vor allem nicht alles was für MS oder MS Programme gut ist ist auch für andere Programme gut.
Überleg dir doch bitte nur mal was für den User praktischer ist - eine Datei die er einfach sichern/kopieren/wiederherstellen kann, oder irgendwelche Werte in der Registry. Und, für den Fall dass du einfache Textfiles verwendest - was ist wohl praktischer, eine Datei wo man mit einem einfachen Text-Editor reingucken kann oder Werte in der Registry (die man vermutlich nichtmal findet).
-
Was bist Du den für ein Eimer?
Ist das alles was Du drauf hast?
Blödmann
Gib eine vernünftige Antwort oder verpiss Dich. Du Blödmann.
Du quatscht doch auch nur alles nach Du Volldepp.
Weißt Du überhaupt wovon wir hier reden? Bettnässer!:xmas2:
-
Dann müll halt die Registry mit Deinen E-Mail Adressen zu und mach Dir das Leben beim Programmieren unnötig schwer.
Schreib aber bitte bei Deiner Software dick drauf, dass Du die E_Mail Adressen in die Registry speicherst (und das bis zu 5000).
Schau mal hier als ersten Anhaltspunkt:
http://de.wikipedia.org/wiki/Windows-Registrierungsdatenbank#Vor-_und_Nachteile
-
@Sabrina_1987
In welchem Fall macht denn Microsoft das auch? Hast du da ein Beispiel?
Die Registrierung ist eine dedizierte Datenbank um Konfigurationen, etc. zu speichern und schnell abrufen zu können und nicht zur Datenablage für jedes x beliebige Programm.
UNd eine Datenbank macht eben erst dann Sinn wenn du redundanzen vermeiden willst, Verweise erstellen und viele andere Späße die neuere Datenbanken ermöglichen. Wenn du einfach hintereinander eine Zeichenkette in jede Row schreibst, muss eine Datenbank auch alle Zeilen durchgehen udn danach suchen. Das macht auch eine "normale" Datei. Es hätte also keine Vorteile sondern den Nachteil, dass die Entwicklung und Bedienung schwieriger wird. Zumindest so wie du den Anwendungsfall beschrieben hast.
-
Sabrina_1987 schrieb:
Und was ist mit Visual Studio, WinWord, Excel und Co?
Die machen das doch auch.
Bei Microsoft ist das Ok!?
Wofür sollte man die Registry nutzen?
Doch auch für solche Dinge!?Ich bin mir sehr sehr sicher, daß Du in der Registry kein einziges Worddokument finden wirst!
Die Registry wird vornehmlich für Programmeinstellungen benutzt, aber nicht für Inhalte. Diese Daten gehören extern - wie z.B. die bereits genannten Empfehlungen xml oder Datenbank.
Wie speicherst Du die anderen Sachen? Bei einem Emailprogramm hättest Du neben den Emailadressen z.B. noch Accountdaten, Serverdaten. Sind die alle ebenso in der Registry abgelegt?
Dann solltest Du Dir über die Datenportierung gedanken machen. Du müsstest ja ganze Registryknoten aus deinem Programm exportieren/importieren um das ganze auf einem anderen Rechner lauffähig zu machen. Wie ist es mit Suchabfragen, wenn da 1000 Emailadresse abgelegt werden will ich die ja auch durchsuchen/sortieren/gruppieren. Würde bedeuten, dass Du die komplett auslesen müsstest und dann anschließend sortieren.
Selbst wenn Dein Programm schon sehr weit gediehen ist, solltest Du Dir überlegen, die Daten an einem sinnvolleren Ort abzuspeichern.
Gruss
foodax
-
ja, foodax hat recht. Ich speicher auch Programmeinstellungen in dateien in meinem Programmverzeichniss und nicht in der Registry. Das ist meiner meinung nach ein wenig unabhängiger.
Es gibt doch so einfache methoden...
das auslesen:
array <String ^> ^eAddrArray = IO::File::ReadAllLines("Dein\\Pfad.txt");
dann kannst du das Array mit [index] ausesen, ändern, oder was du gerade machen willst. auf jeden fall ganz leicht und schnell.
Das speichern geht dann auch einfach:
IO::File::WriteAllLines("Dein\\Pfad.txt", eAddrArray);
mehr muss man eigentlich nicht machen
-
Zur Weihnachszeit scheinen sich die Beiträge von komischen Leuten wohl zu häufen, und auch die allgemeine Tendenz das Hirn auszuschalten und rumzupöbeln.
:xmas1:
-
wer pöpelt??
-
Nicht du, der OP.
Wollte das nicht zitieren, reicht wenn es 1x dasteht.
-
oh jetzt hab ich´s auch gelesen, nett, man merkt wirklich.. es ist weihnachtszeit, die eute lieben sich, alle sind nett zu einander...
-
Beispiele...
Und was ist mit Visual Studio, WinWord, Excel und Co?
Guck mal selber nach...
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\8.0\FileMRUList
=39 Einträge bei mir.
HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Excel\File MRU
=50 Einträge bei mir.
HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Word\File MRU
=49 Einträge bei mir.
Noch mehr Beispiele!?
-
dann hau halt die registry voll
-
Sabrina_1987 schrieb:
Wofür sollte man die Registry nutzen? Doch auch für solche Dinge!?
Mich würde es stören wenn jedes Programm ohne viel Aufwand Zugriff zu meinen E-Mail-Adressen hätte.
-
Sabrina_1987 schrieb:
Beispiele...
Und was ist mit Visual Studio, WinWord, Excel und Co?
Guck mal selber nach...
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\8.0\FileMRUList
=39 Einträge bei mir.
HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Excel\File MRU
=50 Einträge bei mir.
HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Word\File MRU
=49 Einträge bei mir.
Noch mehr Beispiele!?
Und was wird da gespeichert? Das ist sicher n icht vergleichbar mit den Daten die du speichern willst. Vergleichbar wäre es zum Beispiel, wenn Visuell Studio beispielsweise den code einer Quelldatei in Klartext in der Registry speichern würde, was ziemlicher Schwachsinn wäre.