ASP.NET Dostęp do bazy danych z poziomu kodu Elżbieta Mrówka-Matejewska
Dostęp do bazy danych z poziomu kodu O Wymagane przestrzenie nazw: using System.Data; using System.Data.SqlClient ;
Obiekt SqlCommand Metoda ExecuteScalar() - Pobranie pojedynczej wartości z bazy danych. Przykład: Wyświetlanie liczby pracowników z tabeli EMP
Metoda ExecuteScalar()
Obiekt SqlCommand Metoda ExecuteNonQuery () - Wykonanie operacji nie zwracającej danych( np. instrukcje insert, update, delete lub wywołanie procedury Przykład: Dodawanie pracowników do tabeli EMP przy użyciu procedury składowanej
Przykład: Procedura składowana
I dalej jeż użycie:
Metoda ExecuteNonQuery ()
ExecuteNonQuery ()
Obiekt SqlCommand Obiekty SqlDataAdapter i DataSet - Pobranie większej ilości rekordów z bazy danych. Przykład: Wyświetlanie tabeli Salgrade
ASP.NET Zarządzanie stanem w aplikacjach ASP.NET Elżbieta Mrówka-Matejewska
Techniki zarządzania stanem w ASP.NET O Używanie stanu widoku ASP.NET O Używanie stanu kontrolki ASP.NET O Zdefiniowanie zmiennych aplikacji O Zdefiniowanie zmiennych sesji O Zdefiniowanie danych w plikach cookie
Mechanizmy pozwalające na zarządzanie stanem O Po stronie Klienta: O parametry wywołania O pliki cookies O Po stronie serwera O stan strony (ViewState) O stan sesji O stan aplikacji
Stan aplikacji Współdzielenie informacji w całej aplikacji jest możliwe przy użyciu klasy HttpApplicationState. Klasa ta pozwala przechowywać zmienne w słowniku – kolekcji par klucz-wartość. Zmienne te są widoczne w obszarze całej aplikacji ASP.NET
Stan aplikacji O Zasoby –stan aplikacji jest przechowywany w pamięci; mamy do niego szybki dostęp, ale nie można pamiętać zbyt dużo informacji O Ulotność - jest usuwany z pamięci w momencie zatrzymania lub restartu aplikacji lub w momencie awarii serwera. O Skalowalność - nie jest dzielony na serwery w farmie serwerów O Współbieżność - konieczność zapewnienie mechanizmów bezpiecznej aktualizacji przechowywanych obiektów.
Stan aplikacji Tworzenie zmiennych stanu aplikacji jest możliwe poprzez obiekt Application np.: Application["info"] = "Witaj świecie"; Application["AppStartTime"] = DateTime.Now;
Stan aplikacji Pobranie wartości tak utworzonej zmiennej stanu aplikacji można zrealizować za pomocą następującej konstrukcji: string info = (string) Application["info"]; DateTime AppStartTime = (DateTime) Application["AppStartTime"];
Stan sesji O Tworzenie zmiennych stanu sesji jest możliwe poprzez obiekt Session. Np.: Session["info"] = "Witaj świecie!"; O Pobranie wartości tak utworzonej zmiennej stanu sesji : O string info = (string) Session["info"]; Przechowywanie i pobieranie złożonych danych, tj. obiektów, wymaga rzutowania do odpowiedniego typu.
Stan sesji O Standardowy czas życia - 20 min O Ograniczenie czasu w metodzie ( plik Global.asax) Session_Start(…) { Session.Timeout=5; Ses sion [”XX ”]=new(XX); }
G l obal Application Class Plik Global.asax umożliwia deklarowanie i zarządzanie zdarzeniami na poziomie aplikacji i sesji. Jest on umieszczony w głównym katalogu aplikacji. Podczas wykonywania plik jest parsowany i kompilowany w dynamiczną klasę dziedziczoną z klasy bazowej HttpApplication.
ViewState O Ukryte pole formularza _ViewState, które przepływa między przeglądarką a określoną stroną zawierające zbiór par nazwa/wartość, które reprezentują wartości każdej kontrolki interfejsu użytkownika na danej stronie O Odczytywane w czasie zdarzenia Init klasy bazowej System.Web.UI.Page
ViewState O Własność EnableViewState każdej kontrolki określa, czy jej stan pomiędzy kolejnymi wywołaniami strony (PostBack) ma zostać odtworzony, czy serwer ma ponownie go wygenerować
ViewState O Do ukrytego pola _ViewState można dodać niestandardowe informacje np.: ViewState[”UkryteInfo”] = ”JakieśInfo”; …. Lbl1.Text = (string)ViewState[”UkryteInfo”] ;
Przykładowe zastosowanie: P:\emrowka\APBD Przykład Parametry Sesji i Aplikacji2014.docx
Użycie kontrolki użytkownika, Użycie parametru sesji - przykład W5/WynikiWyszukiwaniaPrac.aspx
Użycie kontrolki użytkownika, Użycie parametru sesji - przykład W ramach kontrolki wpisujemy szukany fragment tekstu do parametru sesji SqlDataSource1uzależnia zwracane rekordy od wartości paramertru
Użycie kontrolki użytkownika, Użycie parametru sesji - przykład
Parametry Sesji i Aplikacji Sesja_logowanie.aspx
Użycie parametru sesji – przykład
Parametry Sesji i Aplikacji Global.asax
Parametry Sesji i Aplikacji
Global.asax cd…
Parametry Sesji i Aplikacji O Kontrolka Statystyki:
Parametry Sesji i Aplikacji Logowanie przy użyciu procedury składowanej oraz obiektu SqlDaraReader
Parametry Sesji i Aplikacji cd..
Parametry Sesji i Aplikacji cd..
Parametry Sesji i Aplikacji Procedura sprawdzająca logowanie w bazie danych Create procedure [dbo].[emp_logowanie] varchar(10) ) AS BEGIN --założenie sztuczne: Użytkownik jest zalogowany -- jeśli podał hasło == deptno select empno, ename from emp where and ---- założenie sztuczne END
Parametry Sesji i Aplikacji Na stronie dla zalogowanych:
Parametry Sesji i Aplikacji Na stronie dla niezalogowanych: