Autor Beitrag
Sangoke
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Do 10.01.13 05:42 
Hallo liebe Leute.

Ich bin ein Neuling was das Thema Visuel Studio c# angeht. :)
Einiges an Grundkentnissen hab ich mir schon angeeignet.

Ich bin aber momentan dabei einen Lernprogramm für meine Freundin zu schreiben.
Es sollte sich bei dem Programm darum handeln, dass Sie ihre Fachbegriffe rein schreiben kann, dazu die jeweilige Bedeutung.
& nach Wunsch (zum Lernen) den Fachbegriffe angezeigt bekommt & die dazugehörige Bedeutung selbst reinschreiben muss.

Ich weiß das ich dafür eine Datenbank Verbindung brauche.
Wo nun mein Problem liegt ist das meine Kentnisse noch nicht soweit sind um dies in die Tat umzusetzten.
Ich habe auch schon ausführlich im Internet nach Informationsreiche Tutorials geschaut aber nix gefunden.

Kennt ihr vielleicht ein Tutorial was sich speziell um die Datenbankverbindung + Zufalls ausgabe von der DB + abfrage nach dem zweiten Wert handelt?

ich bedanke mich schonmal recht herzlich für eure antworten.

mfg Mert.
Palladin007
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1282
Erhaltene Danke: 182

Windows 11 x64 Pro
C# (Visual Studio Preview)
BeitragVerfasst: Do 10.01.13 07:35 
openbook.galileocomp.../visual_csharp_2010/

Dort sollte alles drin stehen. Wenn du lieber über WindowsForms noch dazu lesen willst, nimm am besten die 2008-Version.


Ich finde eine Datenbank jedoch recht kompliziert und für einen Anfänger schwierig, das gleich alles zusammen zu nutzen.
Das eigentliche Programm könntest du ja so schreiben, dass du eine kleine XML-Datenbank anlegst.
Das wird im Endeffekt deutlich schneller fertig sein und ist eigentlich ganz einfach.

Ich kenne jetzt auch nicht den Umfang, den die Daten haben, aber ich denke mal, zu jedem Fachbegriff kommen dann ein paar Stichworte oder eine Erklärung (ich würde Stichworte nehmen) hinzu. Bei Stichworten wäre das dann ein Objekt vom Typ Dictionary<string, List<string>> und mehr nicht. Du bräuchtest wahrscheinlich nicht einmal eine extra Klasse dafür.

Da der Key eindeutig sein muss, gehst du sicher, dass immer jeder Fachbegriff einzeln vor kommt und bei Value hast du einfach nur eine Liste von Stichworten.
Wenn sie nun Stichworte eingeben soll und der Fachbegriff gefragt ist, kannst du entweder für jedes Stichwort eine extra Auflistung anlegen, oder die vorherige Dictionary-"Datenbank" danach durchsuchen. Je nach Umfang musst du dann entscheiden, was sinnvoller ist, aber das Durchsuchen ist mit LINQ to Objects (Steht auch in beiden Büchern) eigentlich ganz einfach.

Beispiel:

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
var data = Dictionary<string, List<string>>();
// data enthält bereits alle Daten
string stichwort = "bla";
var fachBegriff = (from d in data
                  where d.Value.Contains(stichwort)
                  select d).First();

(Ich übernehme keine Garantie, dass das stimmt, habs nicht mal im Code-Editor geschrieben ^^)

Dann hast du den ersten Fachbegriff, den das angegebene Stichwort beschreibt.
Eventuell musst du da noch den Typ anpassen, aber das weiß ich grad nicht mehr auswendig, müsste ich heute Nachmittag mal schauen.

Anders herum ist es ganz einfach:

ausblenden C#-Quelltext
1:
2:
3:
4:
var data = Dictionary<string, List<string>>();
// data enthält bereits alle Daten
string fachbegriff = "bla";
List<string> stichworte = data[fachbegriff];