Autor Beitrag
soli
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Di 19.05.09 13:23 
Hallo Freunde der Sonne!
Ich versuche mich gerade an einem kleinen Hardware Verzeichnis, welches seine Daten aus einer SQL Datenbank bezieht und in einem Datagridview anzeigt.
Das funktioniert auch soweit und ne kleine Sortierung nach den jeweiligen Raumnummern klappt auch...
Die BindiungSource und der Tableadapter sind korrekt eingebunden...
Allerdings krieg ich die weiteren Funktionen wie Update / Add / Delete nicht ans Laufen :(
Hab jetzt 2 Tage versucht mir in verschiedenen Foren was zusammenzukramen und zu adaptieren... leider nur mit mäßigem Erfolg :(
Wäre super wenn von euch einer einem Neuling wir mir, ein wenig weiterhelfen könnte... auch wenn die Frage ein wenig laienhaft gestellt ist... :)

Wie nutze ich die UpdateFunktion vom Datagridview oder wie muss eine korrekte Update Abfrage (Beispielhaft) im Dataset aussehen? *verzweifel*

Ein weiteres Hauptproblem ist, dass mein TableAdapter keine Update Funktion besitzt... ich glaub da liegt das eigentliche Problem... was mach ich falsch :( ?


Vielen Dank schonmal,

Gruß soli
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Di 19.05.09 16:14 
Hallo und :welcome:

user profile iconsoli hat folgendes geschrieben Zum zitierten Posting springen:
Wie nutze ich die UpdateFunktion vom Datagridview oder wie muss eine korrekte Update Abfrage (Beispielhaft) im Dataset aussehen? *verzweifel*

Ein Blick in die SDK-Doku/MSDN (auch über F1 erreichbar) zeigt, was die Update-Methode des DataGridView macht (wie bei jedem Control):
Zitat:
Bewirkt, dass das Steuerelement die für ungültig erklärten Bereiche im Clientbereich neu zeichnet.

Das hat also überhaupt nichts mit einer Änderung der Daten zu tun.

user profile iconsoli hat folgendes geschrieben Zum zitierten Posting springen:
Ein weiteres Hauptproblem ist, dass mein TableAdapter keine Update Funktion besitzt... ich glaub da liegt das eigentliche Problem... was mach ich falsch :( ?

Das könnte das Problem sein. Ein DbDataAdapter (auch ein TableAdapter) kann nur dann die SQL-Befehle zur Datenspeicherung erstellen, wenn der verwendete Select-Befehl sich nur auf eine einzige Tabelle der Datenbank bezieht und das Feld für den PrimaryKey benutzt.

Allgemeine Erläuterungen: Unter NET wird getrennt zwischen den Daten auf der Festplatte (Datenbank), den Daten im Arbeitsspeicher (DataSet, DataTable) und den GUI-Elementen (z.B. DataGridView). Zur Verbindung zwischen den Daten der Festplatte und im Arbeitsspeicher dienen u.a. DbDataAdapter, zur Verbindung zwischen den DataSet und den Controls dienen DataBinding/DataSource/BindingSource. (Der TableAdapter ist dabei so etwas wie DbDataAdapter und DataTable in einem Stück.) Änderungen werden nicht (NIEMALS!) per DataGridView an die DB geschickt, sondern immer (IMMER!) vom DataSet aus. Einer der Standardbefehle dazu ist DbDataAdapter.Update.

Zur Einführung verweise ich auf OpenBook Visual C# Kap.25 ff.

Übrigens gibt es in NET/C# keine Funktionen und Prozeduren; alles sind Methoden.

Gruß Jürgen
soli Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Di 19.05.09 17:30 
Hallo Jürgen! Danke für deine schnelle Antwort!

edit:
Hab den Fehler gefunden! Musste im Dataset in den Eigenschaften erst die Update/Delete/Add Befehle hinzufügen... das funktioniert soweit... da war wohl das Problem :)
Nur der SQL Command macht mir jetzt Probleme... der muss ja variable sein... bzw wie muss der Beispielhaft lauten?i

nochmal edit:
hab den richtigen sql befehl gefunden :D hab noch n paar Fehler aber ich habs schon ansatzweise am Laufen... wird schon :)
Vielen Dank schonmal für deine Hilfe!!
Einen schönen Abend noch,
Gruß Marc