1 / 31

Aplikacje ASP.NET

Arkadiusz Twardoń ZTiPSK e-mail: Arkadiusz.Twardon@polsl.pl. Aplikacje ASP.NET. Dostęp do relacyjnych baz danych przy użyciu Microsoft Visual Studio .NET. Na podstawie kursu MOC 2310. Wstęp. Wstęp do ADO.NET Tworzenie połączenia z bazą danych

eshana
Télécharger la présentation

Aplikacje ASP.NET

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Arkadiusz Twardoń ZTiPSK e-mail: Arkadiusz.Twardon@polsl.pl Aplikacje ASP.NET

  2. Dostęp do relacyjnych baz danych przy użyciu Microsoft Visual Studio .NET Na podstawie kursu MOC 2310

  3. Wstęp • Wstęp do ADO.NET • Tworzenie połączenia z bazą danych • Wyświetlanie zawartości DataSet w kontrolkach typu List-Bound

  4. Wstęp do ADO.NET • Co to jest ADO.NET? • Korzystanie z przestrzeni nazw wprowadzonych przez ADO.NET • Obiektowy model ADO.NET • Co to jest DataSet? • Dostęp do danych przy użyciu ADO.NET • Identyfikacja komponentów ADO.NET

  5. Co to jest ADO.NET? ADO.NET dostarcza zestaw klas pozwalających na manipulowanie danymi. ADO.NET dostarcza: • Udoskonalony i bardziej elastyczny mechanizm w porównaniu do ADO • System przeznaczony do pracy bezpołączeniowej • Model programistyczny wspierający korzystanie z XML • Zestaw klas, struktur, interfejsów i numeratorów do zarządzania danymi z poziomu .NET Framework

  6. Korzystanie z przestrzeni nazw wprowadzonych przez ADO.NET • Instrukcje Importslub using importują przestrzenie nazw • ADO.NET dostarcza przestrzenie nazw: • System.Data • System.Data.SqlClient • System.Data.OleDb Imports System.Data Imports System.Data.SqlClient using System.Data; using System.Data.SqlClient;

  7. Model obiektowy ADO.NET DataSet DataTable DataTable SqlDataAdapter OleDbDataAdapter SQL Server .NET Data Provider OLE DB .NET Data Provider OleDbConnection SqlConnection SQL Server 7.0 (i następne) Źródła OLEDB (SQL Server 6.5)

  8. Model obiektowy ADO.NET

  9. Co to jest Dataset? DataSet DataTable DataTable DataTable SqlDataAdapter Pamięć serwera Web Fizyczne repozytorium SqlConnection OleDbDataAdapter OleDbConnection SQL Server 2000 OleDb Database

  10. DataSet Dostęp do danych przy użyciu ADO.NET Database 1 Klient generuje żądanie Program tworzyobiekty SqlConnection i SqlDataAdapter 2 Serwer Web Wypełnia DataSet przy pomocy obiektu DataAdapter i zamyka połączenie SqlConnection 3 Zwraca DataSet do Klienta 4 SqlDataAdapter Klient manipuluje na danych 5 Program uaktualnia DataSet 6 Korzysta z SqlDataAdapter aby otworzyć SqlConnection, uaktualnić bazę danych i zamyka połączenie 7 Kontrolka List-Bound Klient

  11. Tworzenie połączenia z bazą danych • Wykorzystanie Server Explorer’a do wygenerowania połączenia • Model obiektu DataAdapter • Demonstracja: Połączenie z bazą danych • Generowanie obiektu DataSet • Demonstracja : Generowanie obiektu DataSet

  12. Tworzenie połączenia z bazą danych Tworzenie połączenia z bazą danych • Tworzenie nowego połączenia przy wykorzystaniu okna dialogowego Data Links • Tworzenie nowego połączenia poprzez drag’n’drop Tabeli

  13. Model obiektu DataAdapter DataSet DataAdapter SelectCommand UpdateCommand InsertCommand DeleteCommand DataReader Command Command Command Command Connection sp_SELECT sp_UPDATE sp_INSERT sp_DELETE Database

  14. Demonstracja: Połączenie z bazą danych • Znajdź w oknie Server Explorer tablicę w bazie SQL Server • Drag’n’droptabelę na stronę ASP.NET Web Form • Przejrzyj dane korzystając z SqlDataAdapter • Przejrzyj źródła powstałej strony • Skonfiguruj obiekt DataAdapter

  15. Programowe tworzenie połączenia • Wykorzystanie obiektu SqlConnection • Ustalanie wartości parametrów połączenia • Connection timeout • Data source • Initial catalog • Integrated security Dim strConn As String = "data source=localhost; " & _ "initial catalog=northwind; integrated security=true" Dim conn As New SqlConnection(strConn) string strConn = "data source=localhost; " + "initial catalog=northwind; integrated security=true"; SqlConnection conn = new SqlConnection(strConn); • Password • Persist security info • Provider • User ID

  16. Generowanie obiektu DataSet • Obiekt DataSet można wygenerować … • …poprzez GUI… • Tworzony jest obiekt DataSet, który pozwala na dostęp do danych • …lub programowo… • I wypełnić… Dim ds As New DataSet() DataSet ds = new DataSet(); DataAdapter1.Fill(ds) DataAdapter2.Fill(ds) DataAdapter1.Fill(ds); DataAdapter2.Fill(ds);

  17. Demonstracja : Generowanie obiektu DataSet • Stworzenie obiektu DataSet poprzez obiekt DataAdapter • Dodanie kolejnego obiektu DataTable z innego obiektu DataAdapter • Przedstawienie schematu obiektu DataSet

  18. Wyświetlanie zawartości DataSet w kontrolkach typu List-Bound • Co to są kontrolki typu List-Bound? • Wyświetlanie zawartości DataSet w kontrolkach typu List-Bound • Demonstracja: Łączenie kontrolek z bazą danych • Korzystanie z obiektu DataGrid • Demonstracja: Dostosowywanie obiektu DataGrid

  19. Co to są kontrolki typu List-Bound? • Kontrolki, które łączą się ze źródłem danych i wyświetlają jego zawartość • Do kontrolek typu List-bound należą: • DropDownList • ListBox • CheckBoxList • RadioButtonList • DataGrid • DataList • Repeater

  20. Właściwość Opis DataSource • ObiektDataSetzawierający dane DataMember • Obiekt DataTable z obiektuDataSet DataTextField • Pole obiektuDataTable, do wyświetlenia DataValueField • Pole obiektuDataTable, które będzie stanowiło wartość wybranej pozycji w kontrolce Wyświetlanie zawartości DataSet w kontrolkach typu List-Bound • Ustawienie właściwości • Wypełnienie DataSet i wywołanie metody DataBind DataAdapter1.Fill(ds) lstEmployees.DataBind() DataAdapter1.Fill(ds); lstEmployees.DataBind();

  21. Demonstracja: Łączenie kontrolek z bazą danych • Dodaj obiekt DataGrid do strony Web Form • Ustaw właściwości DataSource i DataMember • Wypełnij DataSet • Wywołaj DataBind()

  22. Korzystanie z obiektu DataGrid • Student powinien: • Utworzyć obiektSqlConnection • Utworzyć obiektSqlDataAdapter • Wygenerować obiektDataSet • UmieścićDataGridna stronie Web Form • PołączyćDataGridz DataSet • Czas: 5 minut

  23. Demonstracja: Dostosowywanie obiektu DataGrid • Korzystanie z polecenia AutoFormat • Ustalanie własnych nagłówków kolumn • Stronnicowanie • Sortowanie

  24. DataSets vs. DataReaders DataSet DataReader Dostęp do danych typu Read/write Dostęp do danych typu Read-only Zawiera wiele tabel z różnych baz danych Zawiera wynik jednego pytania SQL z jednej bazy danych Praca bezpołączeniowa Praca ze stałym połączeniem Połączony z wieloma kontrolkami Tylko z jedną kontrolką Dostęp do wszystkich rekordów (przód/tył) Dostęp tylko do kolejnego rekordu Wolniejszy dostęp Szybszy dostęp Wspierany przez Visual Studio .NET Kodowany ręcznie

  25. Korzystanie z obiektu DataReader • Kolejność działań: Utwórz i otwórz połączenie z bazą danych Utwórz obiekt Command Utwórz obiekt DataReaderw oparciu o Command Wywołaj metodęExecuteReader Wykorzystaj zawartość obiektuDataReader Zamknij obiektDataReader Zamknij obiektConnection • Do obsługi błędów wykorzystaj Try…Catch…Finally 1 2 3 4 5 6 7 Code Example

  26. Odczyt danych z obiektu DataReader • Dla każdego rekordu wywołaj metodę Read • Metoda zwraca false jeśli skończą się rekordy • Dostęp do wartości pól • Parametrem jest numer kolejny lub nazwa pola • Funkcje Get*mają większą wydajność • Zamknij DataReader • Zamknij połączenie Do While myReader.Read() str &= myReader(1) str &= myReader("field") str &= myReader.GetDateTime(2) Loop while (myReader.Read()) { str += myReader[1]; str += myReader["field"]; str += myReader.GetDateTime(2); }

  27. Łączenie obiektu DataReader do kontrolek List-Bound • Stwórz kontrolkę • Połącz z obiektem DataReader <asp:DataGrid id="dgAuthors" runat="server" /> dgAuthors.DataSource = dr dgAuthors.DataBind() dgAuthors.DataSource = dr; dgAuthors.DataBind();

  28. Połączenie z bazą danych • SQL Server Security • Tworzenie połączenia • Ustawianie reguł bezpieczeństwa po stronie SQL Server’a

  29. SQL Server Security Send the username and password in clear text. Web ServerDefault ASP.NET settings Mixed modeauthentication Here is the username and password SQL ServerEach user account addedto SQL Server logins group Do not send the username and password. Just send that the user has been authenticated. or… Client Windows onlyauthentication SQL ServerOnly ASPNET accountis granted access Web ServerWindows authentication

  30. Ustawianie reguł bezpieczeństwa po stronie SQL Server’a • Skorzystaj z aplikacji SQL Server Enterprise Manager • Ustaw tryb autoryzacji

  31. Podsumowanie • Wstęp do ADO.NET • Tworzenie połączenia z bazą danych • Wyświetlanie zawartości DataSet w kontrolkach typu List-Bound • Wyświetlanie zawartości DataReaderw kontrolkach typu List-Bound

More Related