Gibt es Ereignisse für eine TableAdapter ?

18/07/2009 - 17:17 von Nicolas Nickisch | Report spam
Hi NG,
ich habe eine Anwendung, die mehrere Datagrids enthàlt. Dafür wurden per
DataDesigner die dafür notwendigen Objekte, u.a. TableAdpater automasich
erstellt.

In der Load-Routine des Hauptfensters finde ich jetzt mehrere Codezeilen,
die das Datagrid, rsp. den zugehörigen TableAdapter mit Daten füllen.

xxTableAdapter.Fill(...)

Gibt es hierfür Ereignisse, auf die ich reagieren könnte ?
Ich möchte z.B. Fehler bei Zugriff auf den SQL-Server abfangen .

Gruss Nico
 

Lesen sie die antworten

#1 Peter Götz
18/07/2009 - 18:16 | Warnen spam
Hallo Nicolas,

ich habe eine Anwendung, die mehrere Datagrids enthàlt.



Wirklich die alten DataGrids?
Oder nicht doch lieber die neueren, einfacher zu
handhabenden DataGridViews?


Dafür wurden per DataDesigner die dafür notwendigen
Objekte, u.a. TableAdpater automasich erstellt.



Das Ergebnis solcher Automatismen ist recht hàufig
nicht unbedingt ein optimales Ergebnis.

In der Load-Routine des Hauptfensters finde ich jetzt
mehrere Codezeilen, die das Datagrid, rsp. den zugehörigen
TableAdapter mit Daten füllen.

xxTableAdapter.Fill(...)



Gefüllt wird letztlich das im TableAdapter enthaltene
DataTable-Objekt. Und wenn Du eine solche DataTable
an ein DataGrid oder DataGridView bindest, dann wird
dabei auch immer ein zur DataTable passendes
DataView-Objekt, erstellt. Grid.DataSource ist dann diese
DataView.

Gibt es hierfür Ereignisse, auf die ich reagieren könnte ?



Ja, haufenweise.
Schau Dir mal die Ereignisse von DataTable und DataView an.


Ich möchte z.B. Fehler bei Zugriff auf den SQL-Server abfangen.



Das hat erst mal nicht mit den Ereignissen von DataTable
und DataView zu tun.
Erst mal kann ein Fehler auftreten, wenn Du Deine Connection
zum SQL-Server öffnest. Den Code hierfür solltest Du also
in einen Try-Catch-Block setzen und evtl. auftretende Fehler
im Catch-Zweig dieses Blockes behandeln.

Ferner können Fehler beim befüllen der DataTable auftreten.
Also auch diesen Code in einen Try-Catch-Block legen und
dort evtl. anfallende Fehler behandeln.

Ein weiterer möglicher Moment für das Auftreten von Fehlern
wàre dann noch das .Update, wenn Du neu hinzugefügte
Datensàtze, geànderte Datensàtze oder Löschungen von
Datensàtzen zur DB übertràgst. Also auch diesen Code
in einen Try-Catch-Block packen.

Schau Dir vielleicht erst mal

www.gssg.de -> Visual Basic -> VB.net

an. Dort gibt es eine Menge Beispiele mit dem DataGrid
und dem DataGridView, welche via DataView an eine
DataTable gebunden sind. Diese Beispiele solltest Du
erst mal verstanden haben, damit Du ein Gefühl dafür
bekommst, was eigentlich wirklich ablàuft, wenn man
ein Grid an eine DataTable resp. DataView bindet.

Gruß aus St.Georgen
Peter Götz
www.gssg.de (mit VB-Tipps u. Beispielprogrammen)

Ähnliche fragen