Visual Studio .NET-Übungsreihe: Übung 3
Veröffentlicht: 20. Sep 2001 | Aktualisiert: 17. Jun 2004
In dieser Übung erstellen Sie eine ASP-Seite (Active Server Pages) und eine ASP.NET-Seite. Diese Seiten erstellen jeweils unter Verwendung von Daten aus einer Datenbank eine HTML-Seite.
Auf dieser Seite
Einführung
Erstellen der ASP-Seite
Anzeigen der ASP-Seite
Erstellen der ASP.NET-Seite
Anzeigen der ASP.NET-Seite
Abschließen von Übung 3
Einführung
In dieser Übung erstellen Sie eine ASP-Seite (Active Server Pages) und eine ASP.NET-Seite. Diese Seiten erstellen jeweils unter Verwendung von Daten aus einer Datenbank eine HTML-Seite. Das Konzept des Datenzugriffs ist in beiden Beispielen ähnlich – es ist jeweils eine Verbindung zur Datenbank enthalten. Der Unterschied liegt in der Art der Datensammlung und -anzeige.
Erstellen der ASP-Seite
Öffnen Sie Visual Studio .NET Integrated Development Environment, indem Sie auf Start, Programme, Experience VS .NET Content, Lab 3 und ASP Source klicken. Wie in Abbildung 1 dargestellt, wird in der IDE von Visual Studio .NET eine leere ASP-Seite mit dem Dateinamen Authors.asp angezeigt.
Abbildung 1. ASP-Seite
Geben Sie den folgenden Code ein:
<%@ Language=VBScript %> <HTML> <HEAD> <META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0"> <STYLE> BODY { font:arial } H1 { color:navy } </STYLE> </HEAD> <BODY> <DIV align=center> <H1>Autoren</H1> <% ' ' Verbinden mit einer Datenbank ' dim cn set cn = server.CreateObject("ADODB.Connection") cn.Open "Provider=sqloledb;" _ & "Data Source=(local);" _ & "Initial Catalog=pubs;" _ & "User ID=sa" ' Abrufen von Daten über das Recordset-Objekt. dim rs set rs = server.CreateObject("ADODB.Recordset") rs.Open "select au_fname, au_lname, phone from authors order by au_lname",cn %>
Anmerkung Der folgende Code enthält in einer Tabelle eine Kombination aus statischem HTML-Code und serverseitigem Skript. Für die sequentielle Extraktion der Daten wird das Recordset iteriert.
<TABLE border='1'> <TR> <TH>Vorname</TH> <TH>Vorname</TH> <TH>Telefon</TH> </TR> <% do until rs.EOF Response.Write "<TR>" Response.Write "<TD>" & rs("au_fname") & "</TD>" Response.Write "<TD>" & rs("au_lname") & "</TD>" Response.Write "<TD>" & rs("phone") & "</TD>" Response.Write "</TR>" rs.MoveNext loop %> </TABLE> <!-- Footer --> <h5>Stand: <%Response.Write now%></h5> </DIV> </BODY> </HTML>
Klicken Sie auf Datei und Authors.asp speichern.
Schließen Sie die IDE.
Anzeigen der ASP-Seite
Zeigen Sie die ASP-Seite an, indem Sie auf Start, Programme, Experience VS .NET Content, Lab 3 und ASP klicken. Daraufhin wird die in Abbildung 2 dargestellte Seite angezeigt.
Abbildung 2. ASP-Seitenergebnisse
Erstellen der ASP.NET-Seite
Öffnen Sie die IDE von Visual Studio .NET, indem Sie auf Start, Programme, Experience VS .NET Content, Lab3 und ASP .NET VB Source klicken. Wie in Abbildung 3 dargestellt, wird in der IDE von Visual Studio .NET eine leere ASP.NET-Seite mit dem Dateinamen Authors VB.aspx angezeigt.
Abbildung 3. ASP.NET-Seite
Wenn Sie die Quelldatei anzeigen möchten, klicken Sie unten links im IDE-Fenster von Visual Studio .NET auf die Schaltfläche HTML.
Geben Sie den folgenden Code ein: Anmerkung Die System.Data- und System.Data.SqlClient-Namespaces werden am Seitenanfang deklariert. Alle Klassen in diesen Namespaces sind für die ASP.NET-Seite verfügbar.
<%@ Import Namespace="System.Data" %> <%@ Import Namespace="System.Data.SqlClient" %> <HTML> <HEAD> <META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0"> <STYLE> BODY { font:arial } H1 { color:navy } </STYLE> </HEAD> <BODY> <DIV align=center> <H1>Autoren</H1>
Anmerkung Das serverseitige Skript ist vollständig vom statischen HTML-Code isoliert. Sie können neben Microsoft Visual Basic jede Runtime-Sprache ausführen, z.B. Microsoft Jscript und C#.
<script language="VB" runat="server"> Sub Page_Load(Src As Object, E As EventArgs) Dim DS As DataSet Dim MyConnection As SQLConnection Dim MyCommand As SQLDataAdapter MyConnection = New SQLConnection("server=localhost;uid=sa;pwd=;database=pubs") MyCommand = New SQLDataAdapter("select au_fname as 'Vorname', au_lname as 'Vorname', Phone from Authors", MyConnection)
Anmerkung Im folgenden Code ersetzt das DataSet-Objekt das Recordset-Objekt. Beachten Sie die Füllmethode des SQLDataAdapter-Objekts.
DS = new DataSet() MyCommand.Fill(ds, "Autoren")
Anmerkung Beachten Sie, dass der folgende Code die DataSource-Eigenschaft des DataGrid-Steuerelements setzt. Beachten Sie die Tables-Auflistung im DataSet-Objekt – anders als Recordset-Objekte können DataSet-Objekte mehr als eine Tabelle enthalten.
grdAuthors.DataSource=ds.Tables("Authors").DefaultView
Anmerkung Im folgenden Code füllt die DataBind-Methode des DataGrid-Steuerelements DataGrid mit Daten. DataGrid zeigt die Daten dann als HTML-Tabelle an.
grdAuthors.DataBind() End Sub </script>
Anmerkung Die folgende Codezeile bettet ein DataGrid-Objekt in die Seite ein. Durch Hinzufügen der Eigenschaft/Wert-Paare können Sie weitere Eigenschaften des DataGrid-Steuerelements konfigurieren. Beispiel: Width="700" und BackColor="#ccccff".
<asp:DataGrid runat=server id=grdAuthors/> <!-- Footer --> <h5>Stand: <%Response.Write (Now.ToString)%></h5> </DIV> </BODY> </HTML>
Klicken Sie auf Datei und Authors VB.aspx speichern.
Schließen Sie die IDE.
Anzeigen der ASP.NET-Seite
Zeigen Sie die ASP.NET-Seite an, indem Sie auf Start, Programme, Experience VS .NET Content, Lab 3 und ASP .NET-VB klicken. Daraufhin wird die in Abbildung 4 dargestellte Seite angezeigt.
Abbildung 4. ASP.NET-Seite
Abschließen von Übung 3
Schließen Sie alle Fenster, wenn Sie die ASP.NET-Seite angezeigt haben.