Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Aplikacje sieciowe Warstwy aplikacji sieciowych. Architektura warstwowa Warstwa prezentacji Warstwa logiki (aplikacji) Warstwa danych.

Podobne prezentacje


Prezentacja na temat: "Aplikacje sieciowe Warstwy aplikacji sieciowych. Architektura warstwowa Warstwa prezentacji Warstwa logiki (aplikacji) Warstwa danych."— Zapis prezentacji:

1 Aplikacje sieciowe Warstwy aplikacji sieciowych

2 Architektura warstwowa Warstwa prezentacji Warstwa logiki (aplikacji) Warstwa danych

3 Warstwa prezentacji Strona aspx Arkusze stylów css Kontrolki wizualne

4 Warstwa logiki (aplikacji) Własne obiekty Obiekty z bibliotek.NET Obiekty komunikacji ze źródłem danych public partial class Kontakt : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void SendMailBtn_Click(object sender, EventArgs e) { MailMessage mail = new MailMessage( MailFromInp.Text,ConfigurationManager.AppSettings["contactPersonMailAdress"], MailSubjectInp.Text, MailBodyInp.Text ); SmtpClient smpt = new SmtpClient(); smpt.Send(mail); }

5 Warstwa danych

6 Źródła danych Bazy danych Access, MS Sql, inne Pliki XML - formaty typu SiteMap - inne formaty XML Obiekty (tablice, kolekcje itp..) Pliki tekstowe i inne

7 Podstawowe obiekty Bazodanowe SqlCommand SqlConnection ConnectionString

8 Warstwowy schemat pracy ze źródłem danych

9 Obiekty typu DataSource

10 Tworzenie Menu: Źródło dokument typu SiteMap...

11 Źródło danych: dokument XML

12 SqlDataSource

13 SqlDataSource: funkcje operujące na danych Select() Update() Insert() Delete() Wykorzystują przygotowane obiekty typu SqlCommand połączone z kolekcjami parametrów zapytania: SelectQuery InsertQuery UpdateQuery DeleteQuery

14 SqlCommand

15 SqlCommand przykład kodu using System.Data; using System.Data.SqlClient; public static String GetUserNameForReview(String ReviewID) { SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["ConfernceDBConnectionString"].ConnectionString); SqlCommand getUserNameCommand = new SqlCommand(); getUserNameCommand.CommandType = CommandType.Text;//CommandType.StoredProcedure// TableDirect SqlDbType.NVarChar); getUserNameCommand.Connection = connection; = ReviewID; getUserNameCommand.CommandText = "SELECT aspnet_Users.UserName" + " FROM Review INNER JOIN aspnet_Users" + " ON Review.ReviewerID = aspnet_Users.UserId" + " WHERE (Review.ReviewID connection.Open(); //getUserNameCommand.ExecuteXmlReader(); ExecuteReader(); ExecuteNonQuery() ; string UserName = getUserNameCommand.ExecuteScalar().ToString(); connection.Close(); if (UserName == null) return "NullUser"; return UserName; }

16 DataSet Może odzwierciedlić strukturę bazy danych z tabelami i związkami między nimi. Umożliwia wykorzystanie i modyfikację tej struktury Typed DataSet Na podstawie definicji tabel tworzy się plik xsd zawierający strukturę obiektów. Na podstawie tego pliku generowana jest klasa(y) wykorzystywane w trakcie tworzenia programu - Wsparcie dla Intelisense - Sprawdzanie składni w trakcie kompilacji Untyped Dataset Do dynamicznego ładowania nie zdefiniowanej wstępnie struktury tabel

17 DataSet Designer

18 DataSet Plik xsd DELETE FROM [dbo].[aspnet_Users] WHERE (([ApplicationId] AND ([LoweredUserName]

19 DataSet Przykład kodu (źródło: msdn) // Assumes a valid SqlConnection object named connection. SqlDataAdapter customerAdapter = new SqlDataAdapter( "SELECT CustomerID, CompanyName, Phone FROM Customers", connection); SqlDataAdapter orderAdapter = new SqlDataAdapter( "SELECT OrderID, CustomerID, EmployeeID, OrderAdapter FROM Orders", connection); // Populate a strongly typed DataSet. connection.Open(); CustomerDataSet customers = new CustomerDataSet(); customerAdapter.Fill(customers, "Customers"); orderAdapter.Fill(customers, "Orders"); connection.Close(); // Add a strongly typed event. customers.Customers.CustomerChanged += new CustomerDataSet.CustomerChangeEventHandler(OnCustomerChanged); // Add a strongly typed DataRow. CustomerDataSet.Customer newCustomer = customers.Customers.NewCustomeromer(); newCustomer.CustomerID = "NEW01"; newCustomer.CompanyName = "My New Company"; customers.Customers.AddCustomer(newCustomer);

20 LINQ Language-Integrated Query static void Main() { // The Three Parts of a LINQ Query: // 1. Data source. int[] numbers = new int[7] { 0, 1, 2, 3, 4, 5, 6 }; // 2. Query creation. // numQuery is an IEnumerable var numQuery = from num in numbers where (num % 2) == 0 select num; // 3. Query execution. foreach (int num in numQuery) { Console.Write("{0,1} ", num); } } Źródło MSDN

21 LINQ to SQL // Northwnd inherits from System.Data.Linq.DataContext. Northwnd nw = new var companyNameQuery = from cust in nw.Customers where cust.City == "London" select cust.CompanyName; foreach (var customer in companyNameQuery) { Console.WriteLine(customer); } Źródło MSDN

22 LINQ to XML Źródło MSDN XElement srcTree = new XElement("Root", new XElement("Element1", 1), new XElement("Element2", 2), new XElement("Element3", 3), new XElement("Element4", 4), new XElement("Element5", 5) ); XElement xmlTree = new XElement("Root", new XElement("Child1", 1), new XElement("Child2", 2), new XElement("Child3", 3), new XElement("Child4", 4), new XElement("Child5", 5) ); xmlTree.Add(new XElement("NewChild", "new content")); xmlTree.Add( from el in srcTree.Elements() where (int)el > 3 select el ); new content 4 5


Pobierz ppt "Aplikacje sieciowe Warstwy aplikacji sieciowych. Architektura warstwowa Warstwa prezentacji Warstwa logiki (aplikacji) Warstwa danych."

Podobne prezentacje


Reklamy Google