Entwickler-Ecke

WinForms - Datenbank Frage (Anfänger)


k3nscher - So 28.12.08 17:03
Titel: Datenbank Frage (Anfänger)
Hallo,
als Anfänger in C# wollte ich ein kleines Programm schreiben, welches Dateien und Text per Email verschickt. Also ein kleines Fenster, auf welches man per drag&drop Dateien schieben kann, etwas Text eintippen kann und per klick dann an meine Email verschicken kann. Ein kleiner Helfer also.

Mit dem Versenden und so bekomme ich denk ich hin, hab nur ein paar Probleme die Sache der Dastellung zu realisieren.
Ich wollte eine kleine Tabelle einfügen um eine Vorschau zu haben. Ist da das DataGridView das richtige?

Ich habe jetzt eine Datenbank erstelle (ist bestimmt mit Kanonen auf Spatzen schießen, aber man will ja was lernen) und mit der GridBoxView verbunden. Ich hoffe jetzt einfach mal, dass sich die Gridbox selbstständig aktualisiert ;-)
Was ich aber irgendwie nicht herausgefunden habe, obwohl es das fundamentalste ist, Wie kann ich jetzt auf die Daten in der Datenbank zugreifen, also SQL Befehle ausführen und auf welche weise bekomme ich die Daten zurück, das ich sie weiterverarbeiten kann.
Danke für eure Hilfe!

P.S. Das Forum WinForms ist glaub nicht das Richtige... wollt anfänglich was über den DataGridView fragen, sorry.


JüTho - So 28.12.08 17:17

Hallo und :welcome:

das DataGridView ist für die Anzeige (und in anderen Fällen auch für die Bearbeitung) von Daten schon korrekt. (Bitte benutze statt Gridbox o.a. immer die korrekte Formulierung; ein Hin- und Herspringen zwischen verschiedenen Begriffen würde die Forumssuche sowie Fragesteller und Helfer verwirren, vor allem wenn Du aus Versehen die Namen anderer Klassen benutzt.)

Die Daten selbst sollten aber keinesfalls direkt in Zeilen und Spalten des DGV eingefügt werden. Dafür ist DataSet/DataTable geeignet; das ist sozusagen die Repräsentation einer Datenbank im Arbeitsspeicher.

Es handelt sich aber nicht um eine SQL-Datenbank im Arbeitsspeicher. Du kannst deshalb innerhalb des Programms normalerweise nicht mit SQL arbeiten, sondern musst die Möglichkeiten der Klassen von System.Data und System.Data.Common verwenden. Allenfalls mit LINQ kannst Du etwas Ähnliches machen (davon habe ich aber keine Ahnung).

Zur Einführung in die Arbeit mit Datenbanken unter NET kann ich Dich auf das OpenBook Visual C# [http://openbook.galileocomputing.de/visual_csharp/] Kap.25 ff. verweisen.

Zur Forenstruktur: DataGridView gehört zu WinForms, Datenbanken gehören zu ADO.NET. Aber es gibt hier in der Tat Überschneidungen.

Viel Erfolg! Jürgen


k3nscher - Mo 29.12.08 21:16

Jau ich hab alles hinbekommmen, herzlichen Dank für den Tipp. Ist ein ganz anderes System als beispielsweise in Delphi mit den Datenbanken. Insgesammt aber sehr logisch.