Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Gliwice 2004 Systemy i Narzędzia Baz Danych z Dostępem Przez Internet ASP.NET cz.2.

Podobne prezentacje


Prezentacja na temat: "Gliwice 2004 Systemy i Narzędzia Baz Danych z Dostępem Przez Internet ASP.NET cz.2."— Zapis prezentacji:

1 Gliwice 2004 Systemy i Narzędzia Baz Danych z Dostępem Przez Internet ASP.NET cz.2

2 Agenda 1. Web Forms 1.1 Kontrolki HTML 1.2 Kontrolki sieci WWW 1.3 Kontrolki sprawdzania poprawności 1.4 Tworzenie kontrolek użytkownika 1.5 Tworzenie kontrolek dostosowanych 2. ADO.NET 2.1 ADO 2.2 ADO.NET 2.3 Różnice między ADO i ADO.NET 2.4 Przykład ADO.NET 2.5 OLEDBConnection 2.6 OLEDBCommand 2.7 OLEDBDataReader 2.8 OLEDBAdapter 2.9 DataSet, DataTable, DataColumn, DataRow, DataRelation, DataView

3 Agenda 3. Usługi sieciowe XML 3.1 Usługi sieciowe XML 3.2 Przykład wykorzystania 4. Literatura

4 1. Web Forms Web Forms nowy model programistyczny ASP.NET, za pomocą którego tworzymy programowalne strony internetowe pozwalają na implementację logiki aplikacji i wysyłanie na wyjściu znaczników HTML oparte na CLR, możliwość korzystania z wszystkich zalet tej technologii można tworzyć za pomocą zwykłego edytora tekstowego

5 Obsługa prostego formularza logowania w Web Forms ASP.NET jeden skrypt – login.aspx Sub Button1_Click(source as Object, e As EventArgs) If User.Value.Equals("kowalski") And Pass.Value.Equals("haslo") Then tekst.InnerHtml="Poprawne logowanie" Else tekst.InnerHtml=" Logowanie nieudane" End If End Sub 1 Prosty formularz w Web Forms

6 użytkownik: hasło: <input type=submit OnServerClick="Button1_Click" value="Wyślij" runat=server> 1 Prosty formularz w Web Forms

7 1.1 Kontrolki HTML Kontrolki HTML każda kontrolka ma związany z nią znacznik HTML, który reprezentuje kontrolki te należą do przestrzeni nazw System.Web.UI.HtmlControls i pochodzą z klasy bazowej HtmlControl możliwość dynamicznego dodawania kontrolek poprzez ich programowe tworzenie deklaracja przy użyciu standardowego znacznika HTML - aby instancja reprezentująca związaną kontrolkę została utworzona na serwerze musi być użyty atrybut runat=server. Wtedy możemy się do niej odwoływać.

8 1.1 Kontrolki HTML Kontrolki HTML oraz związane z nimi znaczniki HTML Znacznik HTMLKontrolka HTML HtmlButton HtmlInputButton HtmlInputCheckBox HtmlInputRadioButton HtmlInputText HtmlInputText HtmlInputHidden HtmlInputImage HtmlInputFile HtmlSelect HtmlTextArea HtmlForm HtmlTable HtmlImage

9 1.2 Kontrolki sieci WWW Kontrolki sieci WWW kontrolki podobne do kontrolek HTML, niektóre pokrywają się z nimi, inne są dużo bardziej skomplikowane kontrolki te należą do przestrzeni nazw System.Web.UI.WebControls i pochodzą z klasy bazowej WebControl, po której dziedziczą model obiektowy np. właściwości takie jak: ForeColor, BackColor, BorderColor, Enabled, Font, Height, Width kontrolki tego typu mogą dostosowywać swój wygląd do możliwości i typu przeglądarki możliwość dynamicznego dodawania kontrolek poprzez ich programowe tworzenie deklaracja przy użyciu składni XML przy użyciu prefiksu asp

10 1.2 Kontrolki sieci WWW Wybrane właściwości, metody i zdarzenia klasy WebControl Właściwości BackColor - kolor tła kontrolki BorderColor - kolor obramowania kontrolki ForeColor - kolor pierszoplanowy kontrolki EnableViewState - czy kontrolka ma podtrzymywać swój stan widoku na serwerze Enabled - dostępność kontrolki Visible - czy kontrolka ma być wyświetlana Metody DataBind - przeprowadza proces wiązania danych ze żródła Zdarzenia DataBinding - zgłaszane podczas wiązania danych na sewerze Init - zgłaszane gdy kontrolka jest inicjowana Load - zgłaszane gdy kontrolka jest ładowana do obiektu Page PreRender - zgłaszane gdy kontrolka przystępuje do wyświetlania swej zawartości Unload - zgłaszane gdy kontrolka jest usuwana

11 1.2 Kontrolki sieci WWW Wybrane kontrolki sieci WWW Dane w formularzach oraz nawigacja TextBox - pole tekstowe do wpisywania danych DropDownList - lista rozwijalna ListBox - lista opcji CheckBox - pole wyboru RadioButton - pole typu radio Button - wyświetla przycisk zatwierdzający formularz LinkButton - odpowiednik wykorzystujący hiperłącze ImageButton - odpowiednik wykorzystujący obrazek HyperLink - łącze nawigacyjne Statyczna zawartość oraz prezentacja danych Label - wyświetla tekst statyczny Image - wyświetla obrazek Table - tworzy tabelę Repeater - wyświetla dane zgodnie ze zdefiniowanymi elementami HTML DataGrid - wyświetla dane ze źródła w postaci tabeli DataList - wyświetla dane ze źródla w postaci listy

12 Przykład wykorzystania kontrolek Label oraz Button Sub Button1_Click(Sender As Object, e As EventArgs) Message.Text = "Przesłany tekst" End Sub Sub Message_Load(Sender As Object, e As EventArgs) Message.Text = "Początkowy tekst" End Sub 1.2 Kontrolki sieci WWW

13 Przykład wykorzystania kontrolki ListBox Sub Button1_Click(sender As Object, e As EventArgs) If ListBox1.SelectedIndex > -1 Then Message.Text=ListBox1.SelectedItem.Text End If End Sub Tekst numer 1 Tekst numer 2 Tekst numer 3 1.2 Kontrolki sieci WWW

14 Przykład wykorzystania kontrolek Table, TableCell, TableRow Sub Button1_Click(Sender As Object, e As EventArgs) Dim i as integer Dim nr As TableRow nr = new TableRow() For i = 1 To 2 Dim nc As TableCell nc = new TableCell() nc.Controls.Add(new LiteralControl("3, " & i )) nr.Cells.Add(nc) Next i Table1.Rows.Add(nr) End Sub 1.2 Kontrolki sieci WWW

15 1, 1 1, 2 2, 1 2, 2 1.2 Kontrolki sieci WWW

16 1.2 Proste przykłady Proste przykłady Web Forms LabelButton przykład, źródłaprzykładźródła Listbox przykład, źródłaprzykładźródła Table przykład, źródłaprzykładźródła

17 1.3 Kontrolki sprawdzania poprawności Kontrolki sprawdzania poprawności kontrolki sieci WWW pozwalające na sprawdzanie poprawności innych kontrolek sieci WWW formularza wygodna i spójna metoda validacji danych po stronie serwera oraz klienta

18 1.3 Kontrolki sprawdzania poprawności Wspólne atrybuty kontrolek sprawdzania poprawności Id - identyfikator kontrolki ControlToVaildate - Id kontrolki, która będzie sprawdzana Display - sposób wyświetlania, możliwe opcje None - informacja o błędzie nie będzie wyświetlana Static - statyczne miejsce do wyświetlania informacji o błędzie Dynamic - dynamiczne miejsce do wyświetlania informacji o błędzie Font-Name - czcionka wykorzystywana do wyświetlania informacji Font-Size - rozmiar czcionki wykorzystywanej do wyświetlania informacji ErrorMessage - informacja wyświetlana w przypadku wystąpienia błędnych danych

19 1.3 Kontrolki sprawdzania poprawności Kontrolki spradzania poprawności ReqiuredFieldValidator - sprawdza czy dana kontrolka jest wypełniona CompareValidator - porównuje zawartość danej kontrolki do zawartości innej kontrolki RangeValidator - sprawdza czy dane w kontrolce są z podanego zakresu RegularExpressionValidator - sprawdza czy dane w kontrolce są zgodne z podanym wyrażeniem regularnym CustomValidator - wykorzystuje do sprawdzania zdefiniowaną przez programistę metodę sprawdzania poprawności ValidationSummary - wyświetla wszystkie błędy w postaci jednej listy

20 Składnia kontrolki RequiredFiledValidator <asp:RequiredFieldValidator ControlToValidate="Nazwa" Display="Dynamic" Font-Name="verdana" Font-Size="10pt" ErrorMessage="Treść" runat=server /> Przykład wykorzystania kontrolki RequiredFiledValidator Wymagany tekst: 1.3 Kontrolki sprawdzania poprawności

21 Składnia kontrolki RangeValidator <asp:RangeValidator Type= "Date" ControlToValidate="Nazwa" Display="Dynamic" Font-Name="verdana" Font-Size="10pt" MinimumValue= "01/01/2005" MaximumValue= "31/12/2005" ErrorMessage="Treść" runat=server /> Przykład wykorzystania kontrolki RangeValidator Data: 1.3 Kontrolki sprawdzania poprawności

22 Składnia kontrolki CustomValidator <asp:CustomValidator ClientValidationFunction= "Nazwa" OnServerValidationFunction= "Nazwa" ControlToValidate="Nazwa" Display="Dynamic" Font-Name="verdana" Font-Size="10pt" ErrorMessage="Treść" runat=server /> 1.3 Kontrolki sprawdzania poprawności

23 Przykład wykorzystania kontrolki CustomValidator Sub Klient(source, arguments) If (arguments.Value = "5" or arguments.Value = "10") Then arguments.IsValid = true Else arguments.IsValid = false End If End Sub Podaj liczbę: 1.3 Kontrolki sprawdzania poprawności

24 1.3 Proste przykłady Proste przykłady kontrolek sprawdzania poprawności requiredfieldvalidator przykład, źródłaprzykładźródła rangevalidator przykład, źródłaprzykładźródła customvalidator przykład, źródłaprzykładźródła

25 1.4 Tworzenie kontrolek użytkownika Kontrolki użytkownika można tworzyć własne kontrolki użytkownika uzupełniając istniejące kontrolki HTML i serwera kontrolki użytkownika zwiększają możliwość ponownego wykorzystania kodu, poprzez zamieszczenie w kontrolkach powtarzających się element. zamykanie części interfejsu w postaci kontrolek jest wygodne w użyciu, ułatwia późniejsze wprowadzanie zmian i zwiększa jego przejrzystość stosowanie częściowego buforowania strony poprzez buforowanie kontrolek może zwiększyć wydajność kontrolkę tworzy się analogicznie jak zwykłą stronę Web Forms można stosować zewnętrzny kod kontrolek analogicznie do Web Forms kontrolki te są dostępne dla aplikacji gdzie zostały utworzone możliwe jest programowe tworzenie przez Page.LoadControl( " plik.ascx " ) metody obsługi zdarzeń dla kontrolki muszą być zawarte kontrolce kontrolki użytkownika mogą udostępniać właściwości oraz metody deklaracja przy użyciu dyrektywy (osobny plik o rozszerzeniu ascx)

26 Przykład prostej kontrolki użytkownika z pojedynczą właściwością Public BackColor as string "> Bieżąca data: Przykład strony Web Forms wykorzystującej utworzoną kontrolkę 1.4 Tworzenie kontrolek użytkownika

27 1.4 Proste przykłady Prosty przykład kontrolki użytkownika Moja data przykład, źródłaprzykładźródła

28 1.5 Tworzenie kontrolek dostosowanych Kontrolki dostosowane sposób tworzenia różni się od kontrolek użytkownika kontrolki dostosowane są przechowywane w postaci skompilowanej dll kontrolki te mogą być ogólnie dostępne dla wszystkich aplikacji kontrolki dostosowane umożliwiają obsługę danych przesłanych przez użytkownika (przesłanie zwrotne) możliwe jest tworzenie kontrolek dostosowanych opartych na szablonach a także kontrolek wykorzystujących wiązanie danych ze źródła danych kontrolki użytkownika mogą udostępniać własne właściwości, metody oraz własne zdarzenia

29 1.5 Tworzenie kontrolek dostosowanych Porównanie kontrolek użytkownika oraz dostosowanych Kontrolki użytkownikaKontrolki dostosowane tworzone za pomocą składni Web Formstworzone za pomocą języków.NET przechowywane w plikach.ascxprzechowywane w.dll kompilowane w locie przez system uruchomieniowy ASP.NET jawnie skompilowana biblioteka dll dostępne w ramach jednej aplikacji WWW (małe szanse na dystrybuowanie) nadają się świetnie do wielokrotnego wykorzystania po utworzeniu duże wsparcie ze strony wizualnych środowisk programistycznych po utworzeniu małe wsparcie dla środowisk graficznych małe wsparcie ze strony środowisk programistycznych w procesie tworzenia kontrolki duże wsparcie ze strony środowisk programistycznych w procesie tworzenia kontrolki - podobnie jak dla stron ASP.NET

30 2.1 ADO ADO oparta na COM technologia pozwalająca w jednolity i spójny sposób realizować dostęp do danych pochodzących z różnych źródeł zestaw wzajemnie powiązanych obiektów oraz metod Recordset (rekordy) Command (polecenie) Connection (połączenie) OLE DB ADO Źródło danych

31 2.2 ADO.NET ADO.NET zbiór klas.NET pozwalający realizować dostęp do różnych danych to coś więcej niż kolejna wersja ADO,wewnętrznie znaczne różnice Row (rekord) Command (polecenie) DataSet (dane) Źródło danych DataTable (tebela) Constraint (więzy) Column (kolumna) DataRelation (relacje) DataAdaptor Connection (połączenie) DataReader

32 2.3 ADO.NET Różnice między ADO a ADO.NET ADOADO.NET oparte na technologii COMoparte na technologii.NET stosuje Recordset do przechowywania danych stosuje DataSet do przechowywania danych Recordset przechowuje jedną tabeleDataSet może przechowywać całą bazę obsługuje typ Variant wynikający z języków skryptowych - gorsza wydajność ściśle określone typy np. takie same jak w SQL Server- większa wydajność ograniczone wsparcie dla XMLwewnętrzna struktury w XML, zapis do plików wymaga połączenia (opcja domyślna)bezpołączeniowe podejście oszczędza zasoby

33 Przykład wykorzystania DataSet, Connection, DataAdaptor, DataGrid Sub Page_Load(sender As Object, e As EventArgs) Dim ConnStr as String ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("osoby.mdb") Dim conn As OleDbConnection = New OleDbConnection(ConnStr) conn.Open() Dim da As OleDbDataAdapter = New OleDbDataAdapter ("SELECT * FROM Osoba",conn) 2.4 Przykład ADO.NET

34 Dim ds As New DataSet da.Fill(ds,"osoba") DataGrid1.DataSource=ds.Tables("osoba").DefaultView DataGrid1.DataBind() End Sub Istnieją osobne klasy specjalnie przeznaczone do pracy z SQL Server, w nazwach klas zamiast OleDb jest Sql. Używana przestrzeń to System.Data.SqlClient 2.4 Przykład ADO.NET

35 2.5 Obiekt ADO.NET OLEDBConnection Połączenie ze źródłem danych OLEBD (nieznaczne różniece z SLQConnection) Właściwości ConnectionString – ciąg znaków wykorzystywany do otwarcia połączenia, serie argumentów argument=wartość ConnectionTimeout – czas oczekiwania na nawiązanie połączenia w s Database – nazwa bazy danych z połączenia DataSource – nazwa połączonego źródła danych Provider – nazwa dostawcy bazy danych State – bieżący stan połączenia Metody BeginTransaction – rozpoczyna nową transakcję i zwraca OLEDBTransaction Open – otwiera połączenie ze źródłem danych Close – zamyka połączenie ze źródłem danych CreateCommand – tworzy i zwraca polecenie OLEDBCommand Zdarzenia InfoMessage – zdarzenie zgłaszane gdy dostawca zgłosi błąd lub komunikat StateChange – zdarzenie zgłaszane po zmianie stanu połączenia

36 2.6 Obiekt ADO.NET OLEDBCommand Służy do zadawania zapytań, operacji masowych Właściwości Connection - połączenie z którym związany jest obiekt Command CommandText – ciąg znaków z poleceniem CommandTimeout - czas oczekiwania na wykonanie komendy w sek. CommandType – typ polecenia (StoredProcedure, Text, TableDirect) Parameters – zawiera wszystkie parametry Metody CreateParameter – tworzy obiekt i dodaje do zbioru OLEDBParameters ExecuteNonQuery – wykonuje zapytanie lub procedurę zachowaną, zwraca liczbę dotyczących rekordów, bez samych rekordów ExecuteReader – wykonuje zapytanie i zwraca obiekt OLEDBDataReader ExecuteScalar – wykonuje zapytanie i zwraca pierwszą kolumnę pierwszego rekordu zbioru wyników Prepare – tworzy skompilowaną wersję zapytania na serwerze

37 2.7 Obiekt ADO.NET OLEDBDataReader Służy do sekwencyjnego (po jednym polu) czytania danych ze źródła Właściwości FieldCount – liczba kolumn bieżącego rekordu IsClosed – czy obiekt jest zamknięty Item – wartość danej kolumny RecordsAffected – liczba rekordów na które wpłynął obiekt Metody Close – zamyka obiekt GetValue – zwraca wartość kolumny o podanym numerze GetValues – zwraca tablicę wszystkich kolumn IsDBNull – czy kolumna zawiera wartość NULL NextResult – przesunięcie na zbiór rekordów Read – przesunięcie na następny rekord

38 2.8 Obiekt ADO.NET OLEDBAdapter Służy do wypełnienia danymi zbioru DataSet Właściwości DeleteCommand – zapytanie SQL używane do usuwania rekordów InsertCommand – zapytanie SQL używane do wstawiania rekordów SelectCommand – zapytanie SQL używane do wybierania rekordów UpdateCommand – zapytanie SQL używane do aktualizacji rekordów Metody Fill – wypełnia obiekt DataSet danymi ze źródła Update – aktualizuje źródło danymi z obiektu DataSet Zdarzenia RowUpdate – zdarzenie po aktualizacji rekordu w źródle danych RowUpdating – zdarzenie podczas aktualizacji rekordu w źródle danych

39 2.9 DataSet, DataTable, DataColumn, DataRow, DataRelation, DataView, DataRowView DataSet – reprezentuje zbiór danych w pamięci, może to być nawet kilka tabel lub cała baza danych DataTable – reprezentuje tabele należącą do zbioru danych DataColumn – reprezentuje wszystkie informacje o kolumnie DataRow – reprezentuje rekord danych tabeli DataRelation – służy do tworzenia i zarządzania relacjami pomiędzi tabelami z zbiorze danych DataView – służy tworzeniu tymczasowych perspektyw na danych pochodzących z obiektu DataTable. Wykorzystywane przy wiązaniu danych z kontrolkami sieci WWW DataRowView – reprezentuje rekord obiektu DataView

40 3.1 Usługi sieciowe XML Web Services nowa technologia przetwarzania rozproszonego otwarcie na sprawdzone standardy oraz na inne platformy wykorzystanie technologii HTTP i XML język WSDL służy do opisu usług sieciowych (porty, protokoły, typy danych itp.) Protokół SOAP jest metodą wymiany danych między różnymi platformami (XML + HTTP)

41 3.2 Prosty przykład Prosty przykład odpytania usługi sieciowe przy wykorzystaniu HTTP GET (bez klienta SOAP) Dodawanie przykład aspx, przykład asmx, źródłaprzykład aspxprzykład asmxźródła

42 3.3 Struktura żądania GET Zapytanie: GET /asp.net/uslugi%20sieciowe/dodawanie.asmx/Dodaj?liczbaA=string&licz baB=string Odpowiedź: HTTP/1.1 Host: localhost HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length int

43 3.4 Struktura żądania POST Zapytanie: POST /asp.net/uslugi%20sieciowe/dodawanie.asmx/Dodaj HTTP/1.1 Host: localhost Content-Type: application/x-www-form-urlencoded Content-Length: length liczbaA=string&liczbaB=string Odpowiedź: HTTP/1.1 Host: localhost HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length int

44 3.5 Struktura żądania SOAP Zapytanie: POST /asp.net/uslugi%20sieciowe/dodawanie.asmx HTTP/1.1 Host: localhost Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://tempuri.org/Dodaj" int

45 3.5 Struktura żądania SOAP Odpowiedź: HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length int

46 4. Literatura http://msdn.microsoft.com – MSDN Microsoft http://asp.net Scot Worley, ASP.NET Vademecum Profesjonalisty, Helion, 2003 Robert B. Dunaway, Visual Studio.NET, Mikom, 2003

47 Kontakt Piotr Kuźniacki piotr.kuzniacki@polsl.pl Politechnika Śląska, Instytut Informatyki, ul. Akademicka 16, 44 101 Gliwice, Polska Dziękuję za uwagę...


Pobierz ppt "Gliwice 2004 Systemy i Narzędzia Baz Danych z Dostępem Przez Internet ASP.NET cz.2."

Podobne prezentacje


Reklamy Google