Ereignisse in Visual Basic .NET - Wirtschaftsinformatik HTW Berlin
Ereignisse in Visual Basic .NET - Wirtschaftsinformatik HTW Berlin
Ereignisse in Visual Basic .NET - Wirtschaftsinformatik HTW Berlin
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