28.12.2012 Aufrufe

Ereignisse in Visual Basic .NET - Wirtschaftsinformatik HTW Berlin

Ereignisse in Visual Basic .NET - Wirtschaftsinformatik HTW Berlin

Ereignisse in Visual Basic .NET - Wirtschaftsinformatik HTW Berlin

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Charakteristik der .<strong>NET</strong> Entwicklungsumgebung<br />

Folie 1<br />

.<strong>NET</strong> [ˈdɔtnɛt] ist e<strong>in</strong>e Plattform fÄr die Softwareentwicklung, welche von<br />

Microsoft fÄr die W<strong>in</strong>dows-Betriebssysteme bereit gestellt wird (siehe auch<br />

http://de.wikipedia.org/wiki/.<strong>NET</strong>).<br />

Das Grundkonzept verdeutlicht nachfolgende Abbildung<br />

(leicht verÑndert aus Wirtz: Objektorientierte Programmentwicklung mit <strong>Visual</strong><br />

<strong>Basic</strong>.<strong>NET</strong>, Oldenbourg Verlag, 2008, S. 15)<br />

<strong>Visual</strong> <strong>Visual</strong><br />

<strong>Basic</strong>.<strong>NET</strong><br />

C#<br />

Andere<br />

Sprache<br />

Common Language Spezification<br />

(e<strong>in</strong>e geme<strong>in</strong>same Zwischensprache als<br />

Vorstufe der Masch<strong>in</strong>ensprache)<br />

.<strong>NET</strong> Framework-Klassenbibliothek<br />

(Framework Class Library)<br />

<strong>Visual</strong><br />

Studio<br />

angeboten <strong>in</strong> mehreren<br />

Varianten, u. a.<br />

- <strong>Visual</strong> <strong>Basic</strong>,<br />

- <strong>Visual</strong> Web<br />

Developer,<br />

- <strong>Visual</strong> C#,<br />

- <strong>Visual</strong> C++<br />

<strong>HTW</strong> Berl<strong>in</strong> - WI-Bachelor Realisierung DB-gestÄtzter Anwendungssysteme Prof. Dr. Peter Zschockelt 1


Auswahl der Komponenten fÄr die Lehrveranstaltung Folie 2<br />

In der Lehrveranstaltung "Realisierung DB-gestÄtzter Anwendungssysteme"<br />

(RealDBAS) werden wir mit der <strong>Visual</strong> Studio-Variante "<strong>Visual</strong> Web Developer<br />

2010" und der Sprache <strong>Visual</strong> <strong>Basic</strong> arbeiten.<br />

Folgende GrÄnde sprechen fÄr diese Variante:<br />

• Diese Entwicklungsumgebung enthÑlt den vollen Umfang von VB .<strong>NET</strong>.<br />

• Die spezielle Problematik web-orientierer Programmentwicklung wird<br />

unterstÄtzt.<br />

• Die Komb<strong>in</strong>ation (fast) aller Programmiertechniken wird unterstÄtzt.<br />

• Die Entwicklungsumgebung ist <strong>in</strong> der Express-Version frei im Internet<br />

verfÄgbar.<br />

AusgewÑhlte Beispiele stehen als Musterprojekt "VBNet_Basis" auf<br />

f:\common\zschockelt\Real_DBAS bereit.<br />

Beachten Sie jedoch unbed<strong>in</strong>gt, dass dieses Projekt von e<strong>in</strong>em lokalen<br />

Laufwerk des Entwicklungsrechners gestartet werden muss.<br />

<strong>HTW</strong> Berl<strong>in</strong> - WI-Bachelor Realisierung DB-gestÄtzter Anwendungssysteme Prof. Dr. Peter Zschockelt<br />

2


Grundlagen der .<strong>NET</strong> Programmierung Folie 3<br />

"ASP.<strong>NET</strong> (Active Server Pages .<strong>NET</strong>) ist e<strong>in</strong>e serverseitige Technologie<br />

von Microsoft zum Erstellen von Webanwendungen auf Basis des Microsoft-<br />

.<strong>NET</strong>-Frameworks." (Quelle: http://de.wikipedia.org/wiki/ASP.<strong>NET</strong>)<br />

Der Sammelbegriff ASP.<strong>NET</strong> umfasst alle Komponenten, welche dafÄr<br />

sorgen, dass auf dieser Technologie fuÜende Webanwendungen entwickelt<br />

und auf e<strong>in</strong>em MS-IIS ausgefÄhrt werden kánnen.<br />

Hauptbestandteile s<strong>in</strong>d e<strong>in</strong>e Entwicklungsumgebung (<strong>in</strong> unserem Fall der MS<br />

<strong>Visual</strong> Web Developer 2010) und das .Net-Framework (<strong>in</strong> unserem Fall die<br />

Version 4.0).<br />

Die wesentlichsten Komponenten der Technologie s<strong>in</strong>d die<br />

Laufzeitumgebung (CLR=Common Language Runtime) und die<br />

Klassenbibliothek (FCL=Framework Class Library) � siehe Folie 1.<br />

Nutzbare Programmiersprachen s<strong>in</strong>d <strong>Visual</strong> <strong>Basic</strong> (Standardsprache, auch<br />

<strong>in</strong> dieser Lehrveranstaltung genutzt), C# und J#.<br />

<strong>HTW</strong> Berl<strong>in</strong> - WI-Bachelor Realisierung DB-gestÄtzter Anwendungssysteme Prof. Dr. Peter Zschockelt<br />

3


Browser<br />

Anwendungsszenario fÄr ASP.<strong>NET</strong> Programme Folie 4<br />

Produktive Umgebung<br />

HTML<br />

SQL<br />

Browser<br />

MS IIS (Internet<br />

Information Services)<br />

Browser<br />

DBMS DBMS DBMS<br />

DBMS<br />

ASP.Net-Projekt<br />

oder aspx-Datei<br />

Entwicklungs-Umgebung<br />

<strong>Visual</strong> Web Developer<br />

mit<br />

<strong>in</strong>tegrierten IIS<br />

und<br />

beliebigem Browser<br />

SQL<br />

DBMS<br />

<strong>HTW</strong> Berl<strong>in</strong> - WI-Bachelor Realisierung DB-gestÄtzter Anwendungssysteme Prof. Dr. Peter Zschockelt 4


Charakteristik von ASP.<strong>NET</strong> Programmen Folie 5<br />

ASP.<strong>NET</strong>-Programme<br />

� benátigen den MS-Internet Information Server (IIS) zur Compilierung und<br />

Bereitstellung (wÑhrend der Entwicklung <strong>in</strong> den VWD 2010 <strong>in</strong>tegriert),<br />

� werden <strong>in</strong> e<strong>in</strong>em beliebigen Web-Browser ausgefÄhrt,<br />

� senden ausschlieÜlich HTML-Code an den Browser,<br />

� nutzen e<strong>in</strong>e eigenstÑndige Technik zur àberw<strong>in</strong>dung der Zustandslosigkeit<br />

des HTTP-Protokolls,<br />

� kánnen sich Äber mehrere Web-Seiten erstrecken,<br />

� s<strong>in</strong>d ereignisgesteuert (standardisierte und nutzergesteuerte<br />

<strong>Ereignisse</strong> lÅsen programmierte FunktionalitÇt aus),<br />

� besitzen umfangreiche Objekte zur DatenprÇsentation (darunter<br />

mehrere Objekte zur Arbeit mit DB-verwalteten Daten),<br />

� verkárpern e<strong>in</strong>e Technologie, die sich schrittweise entwickelt hat (mehrere<br />

technologische Niveaustufen existieren kompatibel nebene<strong>in</strong>ander).<br />

<strong>HTW</strong> Berl<strong>in</strong> - WI-Bachelor Realisierung DB-gestÄtzter Anwendungssysteme Prof. Dr. Peter Zschockel<br />

5


ASP.<strong>NET</strong>: Entwicklungsumgebung (1)<br />

Folie 6<br />

Die Entwicklungsumgebung "<strong>Visual</strong> Web Developer 2010 – Express Edition".<br />

ist unter der Adresse<br />

http://www.microsoft.com/germany/express/download/default.aspx frei zum<br />

Download verfÄgbar. Sie ist <strong>in</strong> unterschiedlichen Sprachversionen, darunter<br />

auch <strong>in</strong> Deutsch, verfÄgbar und sehr gut dokumentiert.<br />

Zur Literatur:<br />

Fragen und Antworten, Tipps und H<strong>in</strong>weise zur Microsoft-Software, darunter<br />

ASP.<strong>NET</strong>, VWD und .<strong>NET</strong>-Framework, f<strong>in</strong>den Sie unter<br />

http://social.msdn.microsoft.com/forums/de-de/categories.<br />

Weitere Literaturempfehlungen f<strong>in</strong>den Sie auf me<strong>in</strong>er Webseite<br />

http://sqlserver.f4.htw-berl<strong>in</strong>.de/grdldba/literatur_REALDBAS.aspx<br />

E<strong>in</strong>en Blick kánnen Sie auch auf das <strong>in</strong> Entwicklung bef<strong>in</strong>dliche Web-Buch<br />

http://de.wikibooks.org/wiki/<strong>Visual</strong>_<strong>Basic</strong>_.<strong>NET</strong>#Inhaltsverzeichnis werfen.<br />

<strong>HTW</strong> Berl<strong>in</strong> - WI-Bachelor Realisierung DB-gestÄtzter Anwendungssysteme Prof. Dr. Peter Zschockelt 6


ASP.<strong>NET</strong>: Entwicklungsumgebung (2)<br />

Professionell ist natÄrlich e<strong>in</strong> vollwertiges SE-Tool wie z. B. MS-<strong>Visual</strong> Studio<br />

2010 zu empfehlen.<br />

Zum Lernen und fÄr die Entwicklung kle<strong>in</strong>er und mittlerer Anwendungen<br />

hervorragend geeignet ist die frei verfÄgbare Software "MS <strong>Visual</strong> Web<br />

Developer 2010 Express" (mit SP 1), weil<br />

• sie auf jedem W<strong>in</strong>dows-Betriebssystem ab XP lauffÑhig ist und Äber<br />

e<strong>in</strong>en <strong>in</strong>tegrierten Webserver verfÄgt,<br />

• das Grundpr<strong>in</strong>zip "Trennung von Design und Code" realisiert ist,<br />

• die gesamte VB- und Web-FunktionalitÑt verfÄgbar ist.<br />

Nachteilig ist, dass Quellcode nur auf lokalen Laufwerken gespeichert<br />

werden kann. Bitte USB-Stick zur Lehrveranstaltung mitbr<strong>in</strong>gen.<br />

Wir werden fÄr die Lehrveranstaltung den "<strong>Visual</strong><br />

Web Developer 2010 – Express Edition“ mit Zugriff<br />

auf den an der <strong>HTW</strong> <strong>in</strong>stallierten SQL Server 2008,<br />

Instanz Lehre2 nutzen.<br />

Folie 7<br />

<strong>HTW</strong> Berl<strong>in</strong> - WI-Bachelor Realisierung DB-gestÄtzter Anwendungssysteme Prof. Dr. Peter Zschockelt<br />

7


Programmiertechnologie <strong>in</strong> <strong>Visual</strong> <strong>Basic</strong> .<strong>NET</strong><br />

ASP.<strong>NET</strong>-Steuerelemente<br />

(Web-Controls)<br />

dienen zur e<strong>in</strong>fachen<br />

Anwendung hÇufig<br />

gebrauchter Objekte.<br />

HTML-Code<br />

dient zur webgerechten PrÇsentation.<br />

ASP.<strong>NET</strong>-<strong>Ereignisse</strong><br />

verb<strong>in</strong>den ASP.<strong>NET</strong>-Steuerelemente<br />

und <strong>Visual</strong> <strong>Basic</strong> .<strong>NET</strong>-Code<br />

<strong>Visual</strong> <strong>Basic</strong> .<strong>NET</strong>-Code<br />

dient zur <strong>in</strong>dividuellen<br />

Programmierung.<br />

Der Webserver erzeugt ausschliesslich HTML-Code<br />

Folie 8<br />

<strong>HTW</strong> Berl<strong>in</strong> - WI-Bachelor Realisierung DB-gestÄtzter Anwendungssysteme Prof. Dr. Peter Zschockelt<br />

8


Steuerelemente <strong>in</strong> <strong>Visual</strong> <strong>Basic</strong> .<strong>NET</strong><br />

ausgewÇhlte ASP.<strong>NET</strong>-Steuerelemente und ihre Nutzung (1)<br />

Folie 9<br />

ASP.<strong>NET</strong>- Steuerelemente werden wie alle HTML-Elemente Äber Tags<br />

def<strong>in</strong>iert. E<strong>in</strong>e Textbox wird beispielsweise durch das Tag<br />

<br />

def<strong>in</strong>iert. In der Entwurfsansicht kann aber das Steuerelement auch aus der<br />

Toolbox durch Doppelklick oder Ziehen mit der Maus platziert werden.<br />

ASP.<strong>NET</strong>- Steuerelemente verfÄgen Äber generelle und funktionsbed<strong>in</strong>gt<br />

spezielle Eigenschaften.<br />

Zu den generellen Eigenschaften geháren<br />

- der Name des Steuerelements, Z. B. ID="Textbox1";<br />

- das Attribut runat="server" (nur fÄr <strong>Visual</strong> Web Developer-Applikationen);<br />

- Designeigenschaften, wie z. B. die GráÜe (Height, Width), H<strong>in</strong>tergrundfarbe<br />

(BackColor), Schriftart (Font), Textausrichtung (TextAlign);<br />

- Sichtbarkeit des Objektes (visible="False" – Standard ist visible="True");<br />

- Schreibschutz (ReadOnly="True" bzw. ReadOnly="False" (Standard))<br />

Durch Tags kánnen auch veraltete (z. B. DataGrid) Steuerelemente def<strong>in</strong>iert<br />

und geláscht werden, die <strong>in</strong> der Toolbox nicht (mehr) enthalten s<strong>in</strong>d.<br />

<strong>HTW</strong> Berl<strong>in</strong> - WI-Bachelor Realisierung DB-gestÄtzter Anwendungssysteme Prof. Dr. Peter Zschockelt<br />

9


Steuerelemente <strong>in</strong> <strong>Visual</strong> <strong>Basic</strong> .<strong>NET</strong><br />

ausgewÇhlte ASP.<strong>NET</strong>-Steuerelemente und ihre Nutzung (2)<br />

Folie 10<br />

Steuerelemente werden (fast vollstÑndig) <strong>in</strong> der Toolbox angezeigt. E<strong>in</strong>ige der am<br />

hÑufigsten benátigten Steuerelemente enthÑlt der nachfolgende àberblick.<br />

• Button (SchaltflÑche zum Auslásen e<strong>in</strong>es <strong>Ereignisse</strong>s, kann beschriftet werden),<br />

• Textbox (E<strong>in</strong>gabe/Anzeige e<strong>in</strong>es beliebigen Wertes; TextMode="Password"<br />

ersetzt Wert durch Sterne),<br />

• Hiddenfeld (unsichtbares Feld zur Variablenspeicherung, Eigenschaft Value),<br />

• Label (dient zur Textanzeige am festgelegten Ort), Ñhnlich auch Literal,<br />

• Multiview (dient zur Anzeige mehrerer unterschiedlicher Views <strong>in</strong> e<strong>in</strong>em<br />

geme<strong>in</strong>samen Rahmen),<br />

• Listbox (dient zur kummulativen Anzeige mehrerer Texte; z. B. H<strong>in</strong>zufÄgen des<br />

Textes "Hallo" zur Listbox1: ListBox1.Items.Add = "Hallo"),<br />

• GridView (dient zur tabellenfármigen Darstellung der Daten e<strong>in</strong>er Datenquelle),<br />

• DropDownList (dient zur Auswahl von Werten aus e<strong>in</strong>er DomÑne),<br />

• Calendar (Aktueller Kalender, àbernahme von Daten aus den ausgewÑhlten<br />

E<strong>in</strong>trÑgen máglich),<br />

• Wizard (ermáglicht die Erstellung von WEB-Assistenten).<br />

<strong>HTW</strong> Berl<strong>in</strong> - WI-Bachelor Realisierung DB-gestÄtzter Anwendungssysteme Prof. Dr. Peter Zschockelt<br />

10


Steuerelemente <strong>in</strong> <strong>Visual</strong> <strong>Basic</strong> .<strong>NET</strong><br />

e<strong>in</strong> Beispiel: Die Gridview<br />

Folie 11<br />

Die Gridview dient zur Anzeige tabellenartig strukturierter Daten, zum Beispiel<br />

e<strong>in</strong>er Datenbanktabelle oder e<strong>in</strong>er Datenbank-View oder …<br />

Das Steuerelement Gridview1<br />

zeigt Daten strukturiert an.<br />

FÄr dieses Beispiel braucht man<br />

ke<strong>in</strong>e Zeile VB-Programmcode!<br />

Die Datenquelle SqlDataSource1<br />

def<strong>in</strong>iert die Datenquelle.<br />

Sie besteht z. B. aus e<strong>in</strong>er <strong>in</strong> der<br />

Datei web.config def<strong>in</strong>ierten<br />

Database connection und e<strong>in</strong>er im<br />

aspx-Quelltext gespeicherten<br />

SQL-Anweisung<br />

<strong>HTW</strong> Berl<strong>in</strong> - WI-Bachelor Realisierung DB-gestÄtzter Anwendungssysteme Prof. Dr. Peter Zschockelt<br />

11


Sprachelemente von <strong>Visual</strong> <strong>Basic</strong> .<strong>NET</strong><br />

Format der Anweisungen und Kommentare<br />

• <strong>Visual</strong> <strong>Basic</strong> .<strong>NET</strong> Anweisungen werden formatfrei als Text<br />

geschrieben. GroÜ- und Kle<strong>in</strong>schreibung spielt ke<strong>in</strong>e Rolle.<br />

• Das Ende e<strong>in</strong>er Zeile wird als Anweisungsende gedeutet.<br />

• Anweisungen kánnen Äber mehrere Zeilen geschrieben werden,<br />

wenn das Zeilenende mit e<strong>in</strong>em Leerzeichen und Unterstrich (" _")<br />

als Anweisungs-Fortsetzung gekennzeichnet wird.<br />

Durch e<strong>in</strong> Semikolon getrennt, kánnen auch mehrere Anweisungen<br />

<strong>in</strong> e<strong>in</strong>er Zeile stehen.<br />

• Kommentare werden durch e<strong>in</strong> vorangestelltes Apostroph (" ' ")<br />

gekennzeichnet und gelten bis zum Zeilenende.<br />

E<strong>in</strong>e gÄltige Anweisungsfolge wÑre zum Beispiel:<br />

Response.Write _<br />

("Hallo an der <strong>HTW</strong> Berl<strong>in</strong>") 'Ausgabe des Textes auf den Bildschirm<br />

Response.Write ("Viel SpaÜ mit <strong>Visual</strong> <strong>Basic</strong> .<strong>NET</strong>")<br />

Folie 12<br />

<strong>HTW</strong> Berl<strong>in</strong> - WI-Bachelor Realisierung DB-gestÄtzter Anwendungssysteme Prof. Dr. Peter Zschockelt<br />

12


Sprachelemente von <strong>Visual</strong> <strong>Basic</strong> .<strong>NET</strong><br />

Vere<strong>in</strong>barung e<strong>in</strong>facher Variablen<br />

Folie 13<br />

• Variable werden wie folgt vere<strong>in</strong>bart: Dim variablenname As datentyp<br />

• Der Variablenname muss mit e<strong>in</strong>em Buchstaben beg<strong>in</strong>nen und darf mit<br />

ke<strong>in</strong>em VB-SchlÄsselwort Äbere<strong>in</strong>stimmen.<br />

• Mehrere Variablen gleichen Typs kánnen als Liste <strong>in</strong> e<strong>in</strong>er Anweisung<br />

vere<strong>in</strong>bart werden.<br />

• Die wichtigsten Datentypen s<strong>in</strong>d: Byte, Short, Integer; S<strong>in</strong>gle, Double,<br />

Decimal; Char, Str<strong>in</strong>g, Date, Boolean.<br />

• Konstanten kánnen mit Namen versehen werden.<br />

• Die Wertzuweisung zu Variablen erfolgt mit variable = ausdruck<br />

GÄltige Anweisungen s<strong>in</strong>d zum Beispiel:<br />

Dim a, b, XY As Integer ' Vere<strong>in</strong>barung dreier ganzer Zahlen<br />

Const Mehrwertsteuer As Decimal = 0.19<br />

a = 100; b=a ' b und a haben den gleichen Wert<br />

a = a + 100<br />

<strong>HTW</strong> Berl<strong>in</strong> - WI-Bachelor Realisierung DB-gestÄtzter Anwendungssysteme Prof. Dr. Peter Zschockelt<br />

13


Sprachelemente von <strong>Visual</strong> <strong>Basic</strong> .<strong>NET</strong><br />

Operatoren, Konvertierungen<br />

• In die Wertzuweisung kánnen Operatoren e<strong>in</strong>gebunden werden.<br />

Folie 14<br />

• Arithmetische Operatoren s<strong>in</strong>d die 4 Grundrechenarten (+, -, *, /) sowie die<br />

Potenzierung (^), ganzzahlige Division (\) und der ganzzahlige Rest (Mod).<br />

• Zeichenkettenoperationen s<strong>in</strong>d die Verkettung (&) sowie mehrere<br />

Funktionen wie Length() fÄr LÑngenermittlung, ToUpper() fÄr Umwandlung<br />

<strong>in</strong> GroÜbuchstaben, ToLower() fÄr Umwandlung <strong>in</strong> Kle<strong>in</strong>buchstaben,<br />

Replace(Zeichenkette, alter Wert, neuer Wert) fÄr Zeichenaustausch .<br />

• Umwandlungen zwischen Datentypen kánnen verlustfrei durch Zuweisung<br />

erfolgen, wenn der neue Datentyp umfassender ist, z. B. Byte <strong>in</strong> Integer.<br />

• Die allgeme<strong>in</strong>e explizite Datenumwandlung erfolgt durch die Funktion<br />

CType (ausdruck, typ). Daneben gibt die typspeziellen Umwandlungsfunktionen<br />

wie CByte(ausdruck) fÄr Konvertierung <strong>in</strong> Byte, CDate(ausdruck) fÄr<br />

Konvertierung <strong>in</strong> Datum, CStr(ausdruck) fÄr Konvertierung <strong>in</strong> Str<strong>in</strong>g usw.<br />

Dim Hochschulname As Str<strong>in</strong>g = "F<strong>HTW</strong> Berl<strong>in</strong>"<br />

Replace(Hochschulname, "F<strong>HTW</strong> Berl<strong>in</strong>", "<strong>HTW</strong> Berl<strong>in</strong>") ' ist o. K.<br />

<strong>HTW</strong> Berl<strong>in</strong> - WI-Bachelor Realisierung DB-gestÄtzter Anwendungssysteme Prof. Dr. Peter Zschockelt<br />

14


Sprachelemente von <strong>Visual</strong> <strong>Basic</strong> .<strong>NET</strong><br />

Komplexe Variable<br />

Folie 15<br />

• Die wichtigsten komplexen Variablen s<strong>in</strong>d Felder (Arrays) und AufzÑhlungstypen<br />

(Enums).<br />

• Die niedrigste Dimension e<strong>in</strong>es Arrays ist immer 0; die háchste Dimension<br />

muss gráÜer 0 se<strong>in</strong>. Die Vere<strong>in</strong>barung erfolgt mit Dim array(n) As Datentyp.<br />

• Um auf e<strong>in</strong> Element des Arrays zuzugreifen, gibt man den Index an.<br />

• Arrays kánnen dynamisch se<strong>in</strong>, also wÑhrend der Programmlaufzeit die<br />

Dimension verÑndern. Dazu nutzt man die Anweisung ReDim array(x).<br />

• Array-Variable s<strong>in</strong>d Objekte e<strong>in</strong>er Klasse Arrays. Somit besitzen Arrays<br />

auch Methoden, wie z. B. Array.Sort(name des arrays) zum Sortieren.<br />

Dim Wochentage (6) as Str<strong>in</strong>g ' erzeugt e<strong>in</strong>en Vektor fÄr 7 Werte<br />

Wochentage(0) = "Montag" ' das erste Element erhÑlt e<strong>in</strong>en Wert<br />

Dim VariableMatrix (,) as Integer ' erzeugt e<strong>in</strong>e Matrix ohne Obergrenze<br />

Dim Farben() As Str<strong>in</strong>g = {"rot", "grÄn", "gelb", "blau", "weiÜ", "schwarz"}<br />

' ist auch e<strong>in</strong>e Máglichkeit der Def<strong>in</strong>ition e<strong>in</strong>es Vektors mit 6 Werten<br />

<strong>HTW</strong> Berl<strong>in</strong> - WI-Bachelor Realisierung DB-gestÄtzter Anwendungssysteme Prof. Dr. Peter Zschockelt<br />

15


Sprachelemente von <strong>Visual</strong> <strong>Basic</strong> .<strong>NET</strong><br />

Komplexe Variable<br />

Folie 16<br />

• Die wichtigsten komplexen Variablen s<strong>in</strong>d Felder (Arrays) und AufzÑhlungstypen<br />

(Enums).<br />

• Mit Enum-AufzÑhlungen erzeugt man neue Datentypen, deren erlaubte<br />

Werte e<strong>in</strong>fach <strong>in</strong> der Def<strong>in</strong>ition aufgezÑhlt werden (siehe Beispiel).<br />

• Die Wertzuweisung an e<strong>in</strong>e Variable erfolgt durch AufzÄhlungsname.Wert.<br />

• Das "Auslesen" e<strong>in</strong>es Wertes durch die Methode ToStr<strong>in</strong>g() (siehe Beispiel).<br />

Enum Fachbereich As Integer ' e<strong>in</strong> neuer Datentyp<br />

Fachbereich_1<br />

Fachbereich_2<br />

Fachbereich_3<br />

…<br />

End Enum<br />

Siehe Beispiel Enum_Test.aspx<br />

Dim FB As Fachbereich ' Erzeugen e<strong>in</strong>er Variablen fÄr den Datentyp<br />

FB = Fachbereich.Fachbereich_4<br />

Dim Bezeichnung As Str<strong>in</strong>g<br />

Bezeichnung = FB.ToStr<strong>in</strong>g() ' ergibt den Wert "Fachbereich_4"<br />

<strong>HTW</strong> Berl<strong>in</strong> - WI-Bachelor Realisierung DB-gestÄtzter Anwendungssysteme Prof. Dr. Peter Zschockelt<br />

16


Sprachelemente von <strong>Visual</strong> <strong>Basic</strong> .<strong>NET</strong><br />

Kontrollstruktur If-Auswahl<br />

• Die Grundform der If-Anweisung ist wie folgt def<strong>in</strong>ãert:<br />

If bed<strong>in</strong>gung Then<br />

anweisunggsfolge1 ' e<strong>in</strong>e oder mehrere Anweisungen<br />

Else ' Else-Zweig kann auch weggelassen werden<br />

anweisunggsfolge2 ' e<strong>in</strong>e oder mehrere Anweisungen<br />

End If<br />

• FÄr mehr als zwei Unterscheidungen kann man Bed<strong>in</strong>gungskaskaden<br />

verwenden. Ihr Syntax ist wie folgt def<strong>in</strong>iert:<br />

If bed<strong>in</strong>gung1 Then<br />

anweisung1 …<br />

ElseIf bed<strong>in</strong>gung2 Then<br />

anweisung2 …<br />

…<br />

Else<br />

anweisungn …<br />

End If<br />

Folie 17<br />

<strong>HTW</strong> Berl<strong>in</strong> - WI-Bachelor Realisierung DB-gestÄtzter Anwendungssysteme Prof. Dr. Peter Zschockelt<br />

17


Sprachelemente von <strong>Visual</strong> <strong>Basic</strong> .<strong>NET</strong><br />

Kontrollstruktur If-Auswahl<br />

Bed<strong>in</strong>gungen <strong>in</strong> If-Anweisungen kánnen se<strong>in</strong><br />

• die Äblichen Vergleichsoperatoren fÄr numerische und alphanumerische<br />

Werte (= < >=)<br />

• Der Mustervergleich fÄr Zeichenfolgen mit dem Syntax<br />

zeichenfolge Like muster .<br />

FÄr muster kánnen als Spezialzeichen verwendet werden<br />

- ? fÄr e<strong>in</strong> beliebiges Zeichen,<br />

-� fÄr 0 … n beliebige Zeichen,<br />

- # fÄr e<strong>in</strong>e beliebige Ziffer,<br />

- [liste] fÄr e<strong>in</strong> beliebiges Zeichen aus der Liste,<br />

- [!liste] fÄr e<strong>in</strong> beliebiges Zeichen, das nicht <strong>in</strong> der Liste steht.<br />

"Fachbereich 4" Like "Fachbereich ?" ' ist wahr<br />

"Fachbereich 4" Like "Fach�" ' ist wahr<br />

"Fachbereich 4" Like "Fachbereich?" ' ist nicht wahr<br />

Folie 18<br />

<strong>HTW</strong> Berl<strong>in</strong> - WI-Bachelor Realisierung DB-gestÄtzter Anwendungssysteme Prof. Dr. Peter Zschockelt<br />

18


Sprachelemente von <strong>Visual</strong> <strong>Basic</strong> .<strong>NET</strong><br />

Kontrollstruktur Select Case-Auswahl<br />

Folie 19<br />

Select Case ist logisch nur e<strong>in</strong>e andere Form der If-Anweisung, welche sich<br />

besonders fÄr die Auswahl vieler Fallunterscheidungen eignet. Sie ist wie folgt<br />

def<strong>in</strong>ãert:<br />

Select Case variable<br />

Case ausdruck1<br />

anweisung1 …<br />

Case ausdruck2<br />

anweisung2 …<br />

…<br />

Case Else ' Dieser Zweig kann auch weggelassen werden<br />

anweisungn …<br />

End Select<br />

Der Ausdruck kann e<strong>in</strong> e<strong>in</strong>zelner Wert (z. B. 5), e<strong>in</strong>e Liste von Werten (z. B.<br />

5,8,9), e<strong>in</strong> Wertebereich (z. B. 3 To 8) oder e<strong>in</strong> Vergleich (z. B. Is > 3) se<strong>in</strong>.<br />

<strong>HTW</strong> Berl<strong>in</strong> - WI-Bachelor Realisierung DB-gestÄtzter Anwendungssysteme Prof. Dr. Peter Zschockelt<br />

19


Sprachelemente von <strong>Visual</strong> <strong>Basic</strong> .<strong>NET</strong><br />

Kontrollstruktur Wiederholung (Schleifen)<br />

Folgende Formen der Wiederholung s<strong>in</strong>d máglich:<br />

• Kopfgesteuerte Do-Schleife<br />

Do While bed<strong>in</strong>gung ' While (solange) oder auch Until (bis)<br />

anweisungen<br />

Loop<br />

• FuÜgesteuerte Do-Schleife<br />

Do<br />

anweisungen<br />

Loop While bed<strong>in</strong>gung ' While (solange) oder auch Until (bis)<br />

• For-Schleife<br />

For laufvariable = startwert To endwert [Step schrittweite]<br />

anweisungen<br />

Next<br />

• For Each-Schleife<br />

For Each variable In arrayname<br />

anweisungen ' kánnen mit Exit For unterbrochen werden<br />

Next<br />

Folie 20<br />

<strong>HTW</strong> Berl<strong>in</strong> - WI-Bachelor Realisierung DB-gestÄtzter Anwendungssysteme Prof. Dr. Peter Zschockelt<br />

20


Sprachelemente von <strong>Visual</strong> <strong>Basic</strong> .<strong>NET</strong><br />

Prozeduren und Funktionen<br />

Prozeduren <strong>in</strong> VB.<strong>NET</strong>-Programmen dienen wie <strong>in</strong> anderen<br />

Programmiersprachen auch der Äbersichtlicheren Programmierung bzw.<br />

e<strong>in</strong>fachen Wiederverwendbarkeit mehrfach genutzter Programmteile.<br />

Folie 21<br />

Geme<strong>in</strong>samkeiten zwischen Funktionen und Prozeduren:<br />

- Beide bezeichnen e<strong>in</strong>en benannten Block von VB.<strong>NET</strong>-Anweisungen, die<br />

Äber ihren Namen aufgerufen werden.<br />

- Beide fÄhren e<strong>in</strong>e Anweisungsfolge aus.<br />

- Beiden kánnen Parameter Äbergeben werden.<br />

- Rekursive Aufrufe s<strong>in</strong>d máglich.<br />

Unterschiede zwischen Funktionen und Prozeduren:<br />

- Funktionen geben e<strong>in</strong> Ergebnis zurÄck. Sie werden mit dem SchlÄsselwort<br />

Function gekennzeichnet.<br />

- Prozeduren geben ke<strong>in</strong> Ergebnis zurÄck. Sie werden mit dem SchlÄsselwort<br />

Sub gekennzeichnet.<br />

<strong>HTW</strong> Berl<strong>in</strong> - WI-Bachelor Realisierung DB-gestÄtzter Anwendungssysteme Prof. Dr. Peter Zschockelt<br />

21


Sprachelemente von <strong>Visual</strong> <strong>Basic</strong> .<strong>NET</strong><br />

Function<br />

E<strong>in</strong>e Function hat folgenden grundsÑtzlichen Aufbau:<br />

Function fname(parameterliste) As ergebnistyp<br />

anweisungen<br />

Return ergebniswert<br />

End Function<br />

Die Parameter werden mit ByVal parametername AS parametertyp<br />

vere<strong>in</strong>bart.<br />

Der Aufruf e<strong>in</strong>er Function erfolgt durch Fname(parameterliste).<br />

Folie 22<br />

VielfÑltige <strong>in</strong> VB.<strong>NET</strong> <strong>in</strong>tegrierte Funktionen erweitern den Funktionsumfang<br />

der Sprache betrÑchtlich, z. B.<br />

Format(dezimalwert, "#####0.00")<br />

� Umwandlung <strong>in</strong> e<strong>in</strong>e Zeichenkette mit 2 Kommastellen<br />

Decimal.Round(dezimalwert, nachkommastellen) � rundet e<strong>in</strong>e Zahl<br />

<strong>HTW</strong> Berl<strong>in</strong> - WI-Bachelor Realisierung DB-gestÄtzter Anwendungssysteme Prof. Dr. Peter Zschockelt<br />

22


Sprachelemente von <strong>Visual</strong> <strong>Basic</strong> .<strong>NET</strong><br />

Sub - Prozedur<br />

E<strong>in</strong>e Sub-Prozedur hat folgenden grundsÑtzlichen Aufbau:<br />

Sub sname(parameterliste)<br />

anweisungen<br />

End Sub<br />

Die Parameter werden mit ByVal parametername AS parametertyp<br />

vere<strong>in</strong>bart.<br />

E<strong>in</strong> ByRef-Parameter (z. B. ByRef Bruttopreis as Decimal) ermáglicht die<br />

RÄckgabe e<strong>in</strong>es verÑnderten Parameterwertes an das aufrufende<br />

Programm. Dadurch kann e<strong>in</strong>e Sub-Procedure Ñhnlich e<strong>in</strong>er Funktion<br />

genutzt werden.<br />

Der Aufruf e<strong>in</strong>er Sub-Prozedur erfolgt durch sname(parameterliste) oder<br />

auch Call sname(parameterliste)<br />

Folie 23<br />

<strong>HTW</strong> Berl<strong>in</strong> - WI-Bachelor Realisierung DB-gestÄtzter Anwendungssysteme Prof. Dr. Peter Zschockelt<br />

23


Sprachelemente von <strong>Visual</strong> <strong>Basic</strong> .<strong>NET</strong><br />

Ereignisprozeduren<br />

Folie 24<br />

Ereignisprozeduren s<strong>in</strong>d Sub-Prozeduren, die bei E<strong>in</strong>treten e<strong>in</strong>es <strong>Ereignisse</strong>s<br />

automatisch ausgefÄhrt werden, sofern die auf das Ereignis reagierende<br />

Sub-Prozedur def<strong>in</strong>iert wurde.<br />

Das Ereignisobjekt kann gegebenenfalls <strong>in</strong> der Prozedur manipuliert werden<br />

(z. B. Ermitteln des gewÑhlten E<strong>in</strong>trags aus e<strong>in</strong>er Drop-Down-Liste).<br />

� weiteres siehe Folie "<strong>Ereignisse</strong> <strong>in</strong> VB.<strong>NET</strong>" und folgende!<br />

Sub-Prozedur-Rahmen werden im '<strong>Visual</strong> Web Developer' hÑufig<br />

automatisch erstellt, z. B. bei Doppelklick auf e<strong>in</strong> Button-Objekt.<br />

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As _<br />

EventArgs) Handles Button1.Click<br />

…<br />

End Sub<br />

<strong>HTW</strong> Berl<strong>in</strong> - WI-Bachelor Realisierung DB-gestÄtzter Anwendungssysteme Prof. Dr. Peter Zschockelt<br />

24


Klassen und Objekte <strong>in</strong> <strong>Visual</strong> <strong>Basic</strong> .<strong>NET</strong><br />

Folie 25<br />

Nur nochmals zur Er<strong>in</strong>nerung:<br />

"Jedes Objekt ist … e<strong>in</strong> Exemplar (e<strong>in</strong>e Instanz) e<strong>in</strong>es generellen Schemas<br />

(e<strong>in</strong>er Klasse). E<strong>in</strong> Objekt ist gekennzeichnet durch:<br />

� Eigenschaften, deren Werte etwas Äber den Zustand des Objektes<br />

aussagen. ånderungen der Eigenschaften s<strong>in</strong>d dann ZustandsÑnderungen<br />

des Objekts.<br />

� Operationen (Methoden), die es ausfÄhren kann. Die von auÜen sichtund<br />

zugreifbaren Operationen des Objekts stellen se<strong>in</strong>e áffentliche<br />

Schnittstelle dar, Äber die das Objekt dazu gebracht werden kann, etwas<br />

zu tun."<br />

Vgl. Wirtz: Objektorientierte Programmentwicklung mit <strong>Visual</strong> <strong>Basic</strong>.<strong>NET</strong>, Oldenbourg, 2008, S. 61<br />

Das ist bei VB.<strong>NET</strong> nicht anders als bei anderen objektorientierten Programmiersprachen.<br />

In der .<strong>NET</strong> Klassenbibliothek gibt es e<strong>in</strong>e Vielzahl nÄtzlicher<br />

Klassen. Aber natÄrlich kann man auch selbst Klassen entwickeln.<br />

<strong>HTW</strong> Berl<strong>in</strong> - WI-Bachelor Realisierung DB-gestÄtzter Anwendungssysteme Prof. Dr. Peter Zschockelt<br />

25


Klassen und Objekte <strong>in</strong> <strong>Visual</strong> <strong>Basic</strong> .<strong>NET</strong><br />

Beispiel "Erste Klasse"<br />

Folgende Elemente s<strong>in</strong>d fÄr die Entwicklung e<strong>in</strong>er Klasse unabd<strong>in</strong>gbar:<br />

Folie 26<br />

- Der Klassennamen (Public Class klassenname),<br />

- e<strong>in</strong>e Variable, die Werte <strong>in</strong>nerhalb der Klasse verwaltet (Protected …)<br />

- e<strong>in</strong>e Eigenschaft (Property), mit der auf die Variable zugegriffen wird,<br />

- e<strong>in</strong>e Funktion, die e<strong>in</strong>e Methode verkárpert, die die Objekte der Klasse<br />

ausfÄhren kánnen.<br />

- E<strong>in</strong> oder mehrere spezielle Methoden kánnen als Konstruktoren e<strong>in</strong><br />

Objekt mit Anfangswerten versehen (Public Sub New parameterliste).<br />

Objekte e<strong>in</strong>er Klasse werden als Variable mit dem SchlÄsselwort<br />

As New klassenname vere<strong>in</strong>bart (z. B. Dim klasse1 As New ErsteKlasse).<br />

Zur Nutzung von Methoden e<strong>in</strong>es Objektes wird die Punktnotation<br />

objektname.methodenname(argumentliste)<br />

angewendet (z. B. Label1.Text = klasse1.AlsZeichenkette() ).<br />

<strong>HTW</strong> Berl<strong>in</strong> - WI-Bachelor Realisierung DB-gestÄtzter Anwendungssysteme Prof. Dr. Peter Zschockelt<br />

26


Klassen und Objekte <strong>in</strong> <strong>Visual</strong> <strong>Basic</strong> .<strong>NET</strong><br />

Beispiel "Erste Klasse" (Ausschnitt)<br />

Folie 27<br />

Public Class ErsteKlasse 'Name der Klasse<br />

Protected myE<strong>in</strong>Wert As Double 'Interne Variable<br />

'Eigenschaft, um den Wert verÑndern zu kánnen.<br />

Property E<strong>in</strong>Wert() As Double<br />

Get 'liefert den Wert der Variablen zurÄck<br />

Return myE<strong>in</strong>Wert<br />

End Get<br />

Set(ByVal Value As Double) 'gibt der Variablen e<strong>in</strong>en neuen Wert<br />

myE<strong>in</strong>Wert = Value<br />

End Set<br />

End Property<br />

'Funktion, um den Inhalt als Zeichenkette (Str<strong>in</strong>g) zurÄckzuliefern.<br />

Function AlsZeichenkette() As Str<strong>in</strong>g<br />

Return "Me<strong>in</strong>e Zahl als Zeichenkette: " & CStr(myE<strong>in</strong>Wert)<br />

End Function<br />

…<br />

End Class<br />

<strong>HTW</strong> Berl<strong>in</strong> - WI-Bachelor Realisierung DB-gestÄtzter Anwendungssysteme Prof. Dr. Peter Zschockelt<br />

27


Klassen und Objekte <strong>in</strong> <strong>Visual</strong> <strong>Basic</strong> .<strong>NET</strong><br />

Beispiel "Erste Klasse" (Ausschnitt)<br />

Folie 28<br />

Die Nutzung der Klasse zur Darstellung e<strong>in</strong>er beliebigen Zahl kann z. B. wie<br />

folgt programmiert werden:<br />

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As _<br />

EventArgs) Handles Button1.Click 'Reagieren auf Klick des Button1<br />

Dim klasse1 As New ErsteKlasse 'Objekt klasse1 wird erzeugt<br />

klasse1.E<strong>in</strong>Wert = TextBox1.Text<br />

Label1.Text = klasse1.AlsZeichenkette() 'Ausgabe <strong>in</strong> Label1 formatiert<br />

End Sub<br />

Protected Sub Button2_Click(ByVal sender As Object, ByVal e As _<br />

EventArgs) Handles Button2.Click 'Reagieren auf Klick des Button2<br />

Dim klasse2 As New ErsteKlasse<br />

klasse2.E<strong>in</strong>Wert = TextBox1.Text 'Objekt klasse2 wird erzeugt<br />

Label1.Text = klasse2.AlsGanzeZahl() 'Ausgabe <strong>in</strong> Label1 formatiert<br />

End Sub<br />

<strong>HTW</strong> Berl<strong>in</strong> - WI-Bachelor Realisierung DB-gestÄtzter Anwendungssysteme Prof. Dr. Peter Zschockelt<br />

28


Klassen und Objekte <strong>in</strong> <strong>Visual</strong> <strong>Basic</strong> .<strong>NET</strong><br />

Automatische Klassendef<strong>in</strong>ition mittels LINQ<br />

Folie 29<br />

LINQ (.<strong>NET</strong> Language Integrated Query) bieten – neben vielen anderen<br />

Features - die Máglichkeit, Klassen fÄr den Datenbankzugriff automatisch<br />

zu erstellen.<br />

Mittels e<strong>in</strong>er "LINQ to SQL-Datei" (dataclasses.dbml), welche Äber e<strong>in</strong>e<br />

grafische OberflÑche verfÄgt (O/R-Designer), kánnen objekt-relationale<br />

Zuordnungen zwischen Datenbank-Objekten (Relationen) und generierten<br />

Datenklassen erstellt werden (Klassencode e<strong>in</strong>sehbar unter<br />

dataclasses.designer.vb).<br />

Stored Procedures kánnen als Methoden genutzt werden.<br />

Mittels Drag & Drop werden<br />

Relationen (Tabellen) und<br />

Stored Procedures aus<br />

dem DB-Explorer <strong>in</strong> den<br />

O/R-Designer Äbertragen.<br />

<strong>HTW</strong> Berl<strong>in</strong> - WI-Bachelor Realisierung DB-gestÄtzter Anwendungssysteme Prof. Dr. Peter Zschockelt<br />

29


<strong>Ereignisse</strong> <strong>in</strong> <strong>Visual</strong> <strong>Basic</strong> .<strong>NET</strong><br />

Folie 30<br />

<strong>Ereignisse</strong> s<strong>in</strong>d e<strong>in</strong>e grundlegende Methode der Kommunikation zwischen<br />

Objekten. Die Steuerung des gesamten Programmablaufes e<strong>in</strong>er VB.<strong>NET</strong>-<br />

Applikation erfolgt durch <strong>Ereignisse</strong>.<br />

Das Grundpr<strong>in</strong>zip besteht dar<strong>in</strong>, dass e<strong>in</strong> Herausgeber <strong>Ereignisse</strong> erzeugt<br />

und am Ereignis <strong>in</strong>teressierte Abonnenten die Benachrichtigung Äber den<br />

E<strong>in</strong>tritt des <strong>Ereignisse</strong>s statisch oder dynamisch abonnieren (vgl. Wirtz;<br />

Objektorientierte Programmentwicklung mit <strong>Visual</strong> <strong>Basic</strong>.<strong>NET</strong>, Oldenbourg,<br />

2008, Seite 103 ff.).<br />

<strong>Ereignisse</strong> kánnen <strong>in</strong>nerhalb von Klassen selbst programmiert werden. Die<br />

Kommunikation zwischen den vorgefertigten ASP.<strong>NET</strong>-Steuerelementen<br />

und dem dah<strong>in</strong>ter liegenden Code f<strong>in</strong>det aber ebenfalls Äber <strong>Ereignisse</strong><br />

statt. � In der Lehrveranstaltung behandeln wir nur Letzteres!<br />

• Das Abonnement von <strong>Ereignisse</strong>n der ASP.<strong>NET</strong>-Steuerelemente<br />

erfolgt ausschlieÜlich statisch.<br />

• FÄr die Parameter von <strong>Ereignisse</strong>n gilt die Konvention<br />

- der erste Parameter ist das sendende Objekt,<br />

- der zweite Parameter enthÑlt Ereignis<strong>in</strong>formationen.<br />

<strong>HTW</strong> Berl<strong>in</strong> - WI-Bachelor Realisierung DB-gestÄtzter Anwendungssysteme Prof. Dr. Peter Zschockelt<br />

30


<strong>Ereignisse</strong> <strong>in</strong> <strong>Visual</strong> <strong>Basic</strong> .<strong>NET</strong><br />

Folie 31<br />

Der standardisierte Kopf e<strong>in</strong>er Ereignisprozedur beim Abonnenten besteht aus<br />

Protected Sub prozedurname (ByVal sender As System.Object, _<br />

e As System.EventArgs) Handles ereignisobjekt.ereignis<br />

Der Prozedurname ist dabei beliebig, da die Verb<strong>in</strong>dung zum Ereignis durch die<br />

Handles-Klausel realisiert wird.<br />

<strong>Ereignisse</strong> kánnen <strong>in</strong>nerhalb e<strong>in</strong>er ASP.<strong>NET</strong>-Applikation<br />

automatisch oder durch Nutzeraktionen<br />

ausgelást werden.<br />

z. B. Laden e<strong>in</strong>er Seite<br />

Protected Sub Page_Load(ByVal sender As _<br />

Object, ByVal e As System.EventArgs) _<br />

Handles Me.Load<br />

…<br />

End Sub<br />

z. B. Klicken auf e<strong>in</strong>e Taste<br />

Protected Sub Button1_Click(ByVal sender As _<br />

Object, ByVal e As EventArgs) _<br />

Handles Button1.Click<br />

…<br />

End Sub<br />

ByVal und Handles … kÇnnen ggf. entfallen, um AbwÄrtskompatibilitÄt zu gewÄhrleisten.<br />

<strong>HTW</strong> Berl<strong>in</strong> - WI-Bachelor Realisierung DB-gestÄtzter Anwendungssysteme Prof. Dr. Peter Zschockelt<br />

31


<strong>Ereignisse</strong> <strong>in</strong> <strong>Visual</strong> <strong>Basic</strong> .<strong>NET</strong><br />

ausgewÇhlte <strong>Ereignisse</strong> und darauf basierende Methoden (1)<br />

àber die an e<strong>in</strong> Ereignis geknÄpften Parameter kann auf das betroffene<br />

Objekt programmtechnisch zugegriffen werden.<br />

Folie 32<br />

Beispiel 1: Ermittlung der aus e<strong>in</strong>er Drop-Down-Liste gewÇhlten Werte.<br />

Protected Sub DropDownList1(ByVal sender As Object, ByVal e As EventArgs) _<br />

Handles DropDownList1.SelectedIndexChanged<br />

Dim Artikel As Str<strong>in</strong>g<br />

Dim Satz As Decimal<br />

Artikel = DropDownList1.SelectedItem.ToStr<strong>in</strong>g ' der gewÑhlte E<strong>in</strong>trag<br />

Satz = DropDownList1.SelectedValue ' der zum E<strong>in</strong>trag gehárende Wert<br />

…<br />

End Sub<br />

Vergleiche auch Beispiel DropDownXML.aspx!<br />

<strong>HTW</strong> Berl<strong>in</strong> - WI-Bachelor Realisierung DB-gestÄtzter Anwendungssysteme Prof. Dr. Peter Zschockelt<br />

32


<strong>Ereignisse</strong> <strong>in</strong> <strong>Visual</strong> <strong>Basic</strong> .<strong>NET</strong><br />

ausgewÇhlte <strong>Ereignisse</strong> und darauf basierende Methoden (2)<br />

àber die an e<strong>in</strong> Ereignis geknÄpften Parameter kann auf das betroffene<br />

Objekt programmtechnisch zugegriffen werden.<br />

Folie 33<br />

Beispiel 2: Auslesen des Zeilen<strong>in</strong>dex und SchlÄsselwertes e<strong>in</strong>er Gridview.<br />

Protected Sub GridView_Index(ByVal sender As Object, ByVal e As _<br />

System.EventArgs) Handles GridView1.SelectedIndexChanged<br />

' reagiert auf das Klicken der Taste AuswÑhlen<br />

Dim id As Str<strong>in</strong>g = GridView1.SelectedDataKey.Item(0).ToStr<strong>in</strong>g<br />

' Ermittlung des Teils 1 (Index=1-1) e<strong>in</strong>es ggf. mehrteiligen SchlÄssels<br />

Dim Inhalt As Str<strong>in</strong>g = GridView1.SelectedValue.ToStr<strong>in</strong>g<br />

' Ermittlung des SchlÄsselwertes der Zeile<br />

…<br />

End Sub<br />

Mit diesen Angaben kann man beispielsweise die ausgewÑhlte Zeile neu<br />

e<strong>in</strong>fÑrben oder den SchlÄsselwert fÄr DB-Operationen ermitteln.<br />

<strong>HTW</strong> Berl<strong>in</strong> - WI-Bachelor Realisierung DB-gestÄtzter Anwendungssysteme Prof. Dr. Peter Zschockelt<br />

33


<strong>Ereignisse</strong> <strong>in</strong> <strong>Visual</strong> <strong>Basic</strong> .<strong>NET</strong><br />

ausgewÇhlte <strong>Ereignisse</strong> und darauf basierende Methoden (3)<br />

àber die an e<strong>in</strong> Ereignis geknÄpften Parameter kann auf das betroffene<br />

Objekt programmtechnisch zugegriffen werden.<br />

Folie 34<br />

Beispiel 3: Auslesen e<strong>in</strong>zelner Zellen (Zeile/Spalte) e<strong>in</strong>er Gridview.<br />

Protected Sub GridView_RowEdit<strong>in</strong>g(ByVal sender As Object, ByVal e As _<br />

System.Web.UI.WebControls.GridViewEditEventArgs) _<br />

Handles GridView1.RowEdit<strong>in</strong>g<br />

Dim id As Str<strong>in</strong>g = e.NewEditIndex ' Index der Zeile <strong>in</strong> angezeigter Seite<br />

' Relativer Index (entspricht Zeilennummer-1)<br />

Dim row As GridViewRow = GridView1.Rows(id) ' ausgewÑhlte Zeile<br />

Dim Textfeld1, Textfeld2 As Str<strong>in</strong>g ' Textfeld-Speicher<br />

Textfeld1 = Convert.ToStr<strong>in</strong>g(row.Cells(1).Text) ' Wert der 2. Spalte<br />

Textfeld2 = Convert.ToStr<strong>in</strong>g(row.Cells(2).Text) ' Wert der 3. Spalte<br />

…<br />

End Sub<br />

Auslásendes Ereignis ist hier das Editieren e<strong>in</strong>es Wertes.<br />

<strong>HTW</strong> Berl<strong>in</strong> - WI-Bachelor Realisierung DB-gestÄtzter Anwendungssysteme Prof. Dr. Peter Zschockelt<br />

34


<strong>Ereignisse</strong> <strong>in</strong> <strong>Visual</strong> <strong>Basic</strong> .<strong>NET</strong><br />

ausgewÇhlte <strong>Ereignisse</strong> und darauf basierende Methoden (4)<br />

àber die an e<strong>in</strong> Ereignis geknÄpften Parameter kann auf das betroffene<br />

Objekt programmtechnisch zugegriffen werden.<br />

Folie 35<br />

Beispiel 4: Auslesen e<strong>in</strong>zelner Zellen (Zeile/Spalte) e<strong>in</strong>er Gridview.<br />

Protected Sub GridView1_SelectedIndexChanged(ByVal sender As Object, _<br />

ByVal e As EventArgs) Handles GridView1.SelectedIndexChanged<br />

Dim id as Integer<br />

id = GridView1.SelectedIndex<br />

Dim row As GridViewRow = GridView1.Rows(ID) ' ausgewÑhlte Zeile<br />

Response.Write("Index Auswahlzeile = " & GridView1.SelectedIndex.ToStr<strong>in</strong>g _<br />

& " Inhalt 2. Spalte: " & Convert.ToStr<strong>in</strong>g(row.Cells(1).Text) )<br />

…<br />

End Sub<br />

Auslásendes Ereignis ist hier das Klicken der Taste 'AuswÑhlen' (die natÄrlich<br />

aktiviert se<strong>in</strong> muss) <strong>in</strong> e<strong>in</strong>er Gridview. Auf den Inhalt wird wie <strong>in</strong> Beispiel 3<br />

zugegriffen.<br />

<strong>HTW</strong> Berl<strong>in</strong> - WI-Bachelor Realisierung DB-gestÄtzter Anwendungssysteme Prof. Dr. Peter Zschockelt<br />

35


Schwerpunkte der Lehrveranstaltung<br />

Nutzersteuerung<br />

DB-Datenzugriff<br />

mittels LINQ<br />

Test-Umgebung<br />

Fehlerbehandlung<br />

Session-<br />

Verwaltung<br />

DB-Daten<br />

bearbeiten<br />

DB-Daten<br />

prÑsentieren<br />

Folie 36<br />

<strong>HTW</strong> Berl<strong>in</strong> - WI-Bachelor Realisierung DB-gestÄtzter Anwendungssysteme Prof. Dr. Peter Zschockelt 36

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!