Programmgesteuertes Bearbeiten von Daten (ohne Linq2SQL)

Ziel

Es sollen Daten in einer Datenbank verändert werden, ohne diese an ein Daten-Steuerelement zu binden, sondern rein durch einen Aufruf einer Prozedur. Dabei soll nicht Linq2SQL verwendet werden (erst ab Asp.Net 3.0).

Erstellen der Datenbindung

Zuerst sollte in der web.config ein Connectionstring zur Datenbank eingerichtet werden. Dies funktioniert ganz einfach, indem man ein „SqlDataSource“-Steuerelement einer Seite hinzufügt, den Wizard vollständig ausführt und es anschließend wieder löscht. Dadurch nimmt Visual Basic den Eintrag vor.

Erstellen eines DataSets und eines TableAdapters

Alle Veränderungen sollten über eine DataSet erfolgen. Dies kann man ganz einfach grafisch erzeugen:
Neues Element > DataSet > Namen eingeben > Hinzufügen > Ja

Anschließend wird diesem DataSet die zu bearbeitende Tabelle durch Hineinziehen hinzugefügt. Man erstellt einen „TableAdapter“.

Erstellen der gewünschten „Gespeicherten Prozedur“

Auf die Tabelle klickt man mit rechts drauf > Hinzufügen > Query > Gespeicherte Prozedur > z. B. Insert > die Abfrage anpassen > Funktionsnamen eingeben (z. B. spTelefonAdd) und den Namen der Gespeicherten Prozedur eingeben (im Normalfall das gleiche)

Verwenden der Prozedur

Um die Prozedur aus dem Programm anzusprechen, muss man wie folgt vorgehen (wobei dsTelefon das DataSet ist, TblTelefon die Tabelle und spTelefonAdd die Gespeicherte Prozedur):

Dim TblAdapt As dsTelefonTableAdapters.TblTelefonTableAdapter
TblAdapt = New dsTelefonTableAdapters.TblTelefonTableAdapter()
TblAdapt.spTelefonAdd(boxName.Text, boxTelefon.Text)

! Falls Visual Web Express den Table-Adapter nicht erkennt, einmal unter „Erstellen“ das Projekt/die Website erstellen. Dann funktioniert es.

1 Stern2 Sterne3 Sterne4 Sterne5 Sterne

Loading…
Avatar von manuel

AUTOR

manuel