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 Beispielprojekte
A Installation und technische Hinweise
B Lösungen der Übungsaufgaben
Stichwort

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

Spacer
<< zurück
Einstieg in Visual Basic 2010 von Thomas Theis
Inkl. Visual Studio Express Editions
Buch: Einstieg in Visual Basic 2010

Einstieg in Visual Basic 2010
2., akt. und erw. Aufl., Klappbroschur, mit DVD
467 S., 24,90 Euro
Galileo Computing
ISBN 978-3-8362-1541-1
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 Eine erste Internet-Anwendung
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 Benutzereingaben
Pfeil 9.7 Weitere Formularelemente
Pfeil 9.8 Ein Kalenderelement
Pfeil 9.9 ASP.NET und ADO.NET
Pfeil 9.10 Datenbank im Internet ändern


Galileo Computing - Zum Seitenanfang

9.10 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 Benutzereingaben
  • Ausnahmebehandlung
  • ASP.NET und ADO.NET (Zugriff auf eine Datenbank)

Anzeige und Eintrag

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 aus wie in Abbildung 9.11.

Abbildung 9.11 Datensatz ohne Personalnummer

Nach Eingabe eines Datensatzes mit einer Personalnummer, die bereits in der Tabelle vorkommt, sieht das Ergebnis aus wie in Abbildung 9.12.

Abbildung 9.12 Doppelter Wert

Nach Eingabe eines Datensatzes mit einer Personalnummer, die noch nicht vorkommt, aber mit einem ungültigen Datum, erfolgt ebenfalls eine Fehlermeldung, siehe Abbildung 9.13.

Abbildung 9.13 Ungültiger Wert

Nach Eingabe eines gültigen Datensatzes sieht das Ergebnis aus wie in Abbildung 9.14.

Abbildung 9.14 Gültiger neuer Datensatz wurde eingefügt

Es folgt der Code der Seite default.aspx in der Web-Anwendung mit dem Namen WebDatenbankAktion:

<html>
<head>
   <title>WebDatenbankAktion</title>

   <%@ page language="VB" %>
   <%@ import namespace="System.Data.OleDb" %>
   <script runat="server">
      Sub Page_Load()
         Dim con As New OleDbConnection
         Dim cmd As New OleDbCommand
         Dim reader As 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 & ", " & 
                  Replace(txtGehalt.Value, ",", ".") & 
                  ", '" & 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>
</head>

<body>
   <p>Datenbank-Tabelle</p>
   <asp:DataGrid id="grid" runat="server" />


   <form id="Form1" 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 ID="RequiredFieldValidator1"
         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 id="Submit1" type="submit" runat="server"
         value="Senden" />
   </form>

   <p><asp:Label id="ausgabe" runat="server" /></p>
</body>
</html>

Listing 9.11 Projekt »WebDatenbankAktion«, Datei »default.aspx«

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 initialisiert.
  • 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.

Validate()

  • 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 zunächst 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.

IsPostBack

  • Innerhalb 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 ein 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 2010

Einstieg in Visual Basic 2010
Jetzt bestellen


 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchempfehlungen
Zum Katalog: Visual Basic 2010






 Visual Basic 2010


Zum Katalog: Windows Presentation Foundation






 Windows Presentation
 Foundation


Zum Katalog: Silverlight 4






 Silverlight 4


Zum Katalog: Einstieg in Visual C# 2010






 Einstieg in
 Visual C# 2010


Zum Katalog: Visual C# 2010






 Visual C# 2010


Zum Katalog: Einstieg in PHP 5.3 und MySQL 5.4






 Einstieg in PHP 5.3
 und MySQL 5.4


Zum Katalog: PHP 5.3 und MySQL 5.4






 PHP 5.3 und
 MySQL 5.4


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Galileo Press 2010
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