Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
1 Einführung
2 Grundlagen
3 Fehlerbehandlung
4 Erweiterte Grundlagen
5 Objektorientierte Programmierung
6 Wichtige Klassen in .NET
7 Weitere Elemente eines Windows-Programms
8 Datenbank-Anwendungen mit ADO.NET
9 Internet-Anwendungen mit ASP.NET
10 Zeichnen mit GDI+
11 Neues in Visual Basic 2008
12 Beispielprojekte
A Installation
B Lösungen der Übungsaufgaben
Stichwort

Download:
- ZIP, ca. 8,4 MB
Buch bestellen
Ihre Meinung?

Spacer
 <<   zurück
Einstieg in Visual Basic 2008 von Thomas Theis
Inkl. zahlreicher Beispiele und Uebungen
Buch: Einstieg in Visual Basic 2008

Einstieg in Visual Basic 2008
geb., mit DVD
442 S., 24,90 Euro
Galileo Computing
ISBN 978-3-8362-1192-5
Online bestellenJetzt online bestellen
* versandkostenfrei in (D) und (A)
Pfeil 9 Internet-Anwendungen mit ASP.NET
  Pfeil 9.1 Grundlagen von Internet-Anwendungen
    Pfeil 9.1.1 Statische Internet-Anwendungen
    Pfeil 9.1.2 Dynamische Internet-Anwendungen
    Pfeil 9.1.3 Vorteile von ASP.NET
  Pfeil 9.2 Ein lokaler Webserver
    Pfeil 9.2.1 Basisverzeichnis, erste Internet-Anwendung
    Pfeil 9.2.2 Installation und Test des lokalen Webservers
    Pfeil 9.2.3 Starten und Beenden des lokalen Webservers
  Pfeil 9.3 Eine erste ASP.NET Anwendung
    Pfeil 9.3.1 Fehlerhafte Programmierung
  Pfeil 9.4 Formatierung von Internetseiten
  Pfeil 9.5 Senden und Auswerten von Formulardaten
  Pfeil 9.6 Kontrolle der Benutzer-Eingaben
  Pfeil 9.7 Eine Auswahl treffen
  Pfeil 9.8 Ein Kalender-Element
  Pfeil 9.9 ASP.NET und ADO.NET
  Pfeil 9.10 Eine Datenbank im Internet ändern


Galileo Computing - Zum Seitenanfang

9.10 Eine Datenbank im Internet ändern  topZur vorigen Überschrift

Als Beispiel einer Datenbank-Änderung im Internet soll im folgenden Beispiel ein Datensatz zu einer Tabelle hinzugefügt werden. Das Hinzufügen mithilfe des SQL-Befehls insert wurde im Kapitel über ADO.NET bereits beschrieben.

In diesem Programm werden die folgenden Aktivitäten miteinander kombiniert:

  • Senden und Auswerten von Formulardaten
  • Kontrolle der Benutzer-Eingaben
  • Ausnahmebehandlung
  • ASP.NET und ADO.NET (Zugriff auf eine Datenbank)

Der Code dieser Internet-Anwendung (p0909) steht in der Datei default.aspx im Verzeichnis C:\inetpub\wwwroot\p0909. Mit diesen Daten wird diese Internet-Anwendung auch im Cassini Web Server Explorer registriert.

Neuen Datensatz eingeben

Im oberen Teil werden zunächst die vorhandenen Tabellendaten angezeigt. Im unteren Teil kann man die Daten eines neuen Datensatzes eintragen. Nach Eingabe eines Datensatzes ohne Personalnummer und dem Absenden sieht das Ergebnis wie folgt aus:

Abbildung 9.18  Datensatz ohne Personalnummer

Nach Eingabe eines Datensatzes mit einer Personalnummer, die bereits in der Tabelle vorkommt, sieht das Ergebnis wie folgt aus:

Abbildung 9.19  Datensatz mit vorhandener Personalnummer

Nach Eingabe eines Datensatzes mit einer Personalnummer, die noch nicht vorkommt, aber mit einem ungültigen Datum, erfolgt ebenfalls eine Fehlermeldung. Nach Eingabe eines gültigen Datensatzes sieht das Ergebnis wie folgt aus:

Abbildung 9.20  Gültiger Datensatz

Der Code lautet:

<%@ Page Language="VB" Debug="True" Strict="True" %> 
<%@ Import Namespace="System.Data" %> 
<%@ Import Namespace="System.Data.OleDb" %> 
 
<script runat="server"> 
Sub Page_Load (ByVal Sender As Object, _ 
               ByVal E As EventArgs) 
   Dim con As New OleDb.OleDbConnection 
   Dim cmd As New OleDb.OleDbCommand 
   Dim reader As OleDb.OleDbDataReader 
   Dim anzahl As Integer 
 
   con.ConnectionString = _ 
      "Provider=Microsoft.Jet.OLEDB.4.0;" & _ 
      "Data Source=C:\Temp\firma.mdb" 
   cmd.Connection = con 
 
   If IsPostBack Then 
      Validate() 
      If Not IsValid Then 
         Exit Sub 
      End If 
 
      Try 
         con.Open() 
         cmd.CommandText = _ 
            "insert into personen " & _ 
            "(name, vorname, personalnummer, " & _ 
            "gehalt, geburtstag) " & _ 
            "values ('" & _ 
            txtName.Value & "', '" & _ 
            txtVorname.Value & "', " & _ 
            txtPersonalnummer.Value & ", " & _ 
            Val(txtGehalt.Value) & ", '" & _ 
            CDate(txtGeburtstag.Value) & "')" 
 
         ' ausgabe.Text = cmd.CommandText 
 
         anzahl = cmd.ExecuteNonQuery() 
         If anzahl > 0 Then 
            ausgabe.Text = "Es wurde ein Datensatz " _ 
               & "eingefügt" 
         End If 
      Catch ex As Exception 
         ausgabe.Text = ex.Message 
      End Try 
 
      con.Close() 
   End If 
 
   cmd.CommandText = "select * from personen" 
   Try 
      con.Open() 
      reader = cmd.ExecuteReader() 
      grid.DataSource = reader 
      DataBind() 
      reader.Close() 
   Catch ex As Exception 
      ausgabe.Text = ex.Message 
   End Try 
   con.Close() 
End Sub 
</script> 
 
<html> 
<body> 
   <p>Datenbank-Tabelle</p> 
   <asp:DataGrid id="grid" runat="server" /> 
 
   <form runat="server"> 
      <p><input type="text" runat="server" _ 
          id="txtName"> Name</p> 
      <p><input type="text" runat="server" _ 
          id="txtVorname"> Vorname</p> 
 
      <p><input type="text" runat="server" _ 
          id="txtPersonalnummer"> Personalnummer 
      <asp:RequiredFieldValidator 
           ControlToValidate="txtPersonalnummer" 
           Display="dynamic" 
           runat="server"> 
           Bitte eintragen 
      </asp:RequiredFieldValidator></p> 
 
      <p><input type="text" runat="server" _ 
          id="txtGehalt"> Gehalt</p> 
      <p><input type="text" runat="server" _ 
          id="txtGeburtstag"> Geburtstag</p> 
      <p><input type="submit" runat="server" 
          value="Senden"> 
   </form> 
   <p><asp:Label id="ausgabe" runat="server" /></p> 
</body> 
</html>

Zur Erläuterung der Compiler-Direktiven:

  • Nach der Page-Direktive folgen die beiden Direktiven zum Import der Namensräume System.Data und System.Data.OleDb, deren Klassen für den Zugriff auf eine OleDb-Datenbank benötigt werden.

Zur Erläuterung des Visual Basic-Blocks:

  • Die Objekte für die Datenbank-Verbindung, den SQL-Befehl und den Reader für das Abfrage-Ergebnis werden in gleicher Weise initialisiert und benutzt, wie es bereits im Kapitel über ADO.NET beschrieben wurde.
  • Es kommt noch eine Variable zur Speicherung der Anzahl der geänderten Datensätze hinzu.
  • Der Inhalt der ersten If-Verzweigung wird nur ausgeführt, wenn der Benutzer das Formular senden möchte und nicht, wenn er die Seite zum ersten Mal aufruft.
  • Die Benutzereingaben werden kontrolliert. Ergibt die Kontrolle einen Fehler (keine Personalnummer), so wird die Prozedur verlassen. Es wird der Text »Bitte eintragen« hinter dem Feld personalnummer eingeblendet. Das Formular wird nicht zum Webserver gesendet.

    Try-Catch

  • Es beginnt eine Ausnahmebehandlung. Diese ist besonders wegen der vielen möglichen Fehler bei der Benutzereingabe erforderlich.
  • Der SQL-Befehl zum Einfügen eines Datensatzes wird mithilfe der Inhalte aus den Textfeldern des Formulars zusammengesetzt.
  • Während der Entwicklung kann es nicht schaden, den Befehl zur Kontrolle auszugeben, statt ihn zu senden. Falls der SQL-Befehl als richtig erkannt wird, kann diese Anweisung wieder auskommentiert werden.
  • Der SQL-Befehl zum Einfügen eines Datensatzes wird gesendet. Im Erfolgsfall wird ausgegeben, dass ein Datensatz hinzugefügt wurde.
  • Nach der Verzweigung mit If IsPostBack wird der SQL-Befehl zum Anzeigen aller Datensätze erstellt.
  • Der Inhalt der Datenbank-Tabelle, einschließlich des neuen Datensatzes, wird mithilfe des Server-Steuerelements vom Typ DataGrid ausgegeben.
  • In diesem Programm wird die Verbindung eventuell zweimal geöffnet und wieder geschlossen, je nachdem, ob der Benutzer die Seite zum ersten Mal aufruft oder das Formular gesendet hat.

Zur Erläuterung des HTML-Containers:

  • Hier befindet sich hinter der Überschrift und dem Server-Steuerelement vom Typ DataGrid das Eingabeformular.
  • Das Eingabeformular beinhaltet fünf Textfelder für die Werte der fünf Felder eines neuen Datensatzes.
  • Nach dem Textfeld personalnummer steht eine Server-Steuerelement vom Typ RequiredFieldValidator, mit dessen Hilfe kontrolliert wird, ob eine Personalnummer eingetragen wurde.
  • Das unterste Label dient zur Ausgabe der Erfolgsmeldung oder der Fehlermeldungen bei der Ausnahmebehandlung.


Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.






 <<   zurück
  Zum Katalog
Zum Katalog: Einstieg in Visual Basic 2008






Einstieg in Visual Basic 2008
bestellen
 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchtipps
Zum Katalog: Visual Basic 2008






 Visual Basic 2008


Zum Katalog: Einstieg in Visual C++ 2008






 Einstieg in
 Visual C++ 2008


Zum Katalog: Einstieg in Visual C# 2008






 Einstieg in
 Visual C# 2008


Zum Katalog: Visual C# 2008






 Visual C# 2008


Zum Katalog: Visual C# - Video-Training






 Visual C# -
 Video-Training


Zum Katalog: Einstieg in PHP 5 und MySQL 5






 Einstieg in PHP 5
 und MySQL 5


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo





Copyright © Galileo Press 2008
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de