Presentation is loading. Please wait.

Presentation is loading. Please wait.

Object-Oriented Application Development Using VB.NET 1 Chapter 13 Introduction to Data Access Classes and Persistence.

Similar presentations


Presentation on theme: "Object-Oriented Application Development Using VB.NET 1 Chapter 13 Introduction to Data Access Classes and Persistence."— Presentation transcript:

1 Object-Oriented Application Development Using VB.NET 1 Chapter 13 Introduction to Data Access Classes and Persistence

2 Object-Oriented Application Development Using VB.NET 2 Making Objects Persistent Object persistence –The capacity to store and retrieve information from files Two approaches to achieving persistence –Attribute storage –Object storage

3 Object-Oriented Application Development Using VB.NET 3 Making Objects Persistent Attribute storage –Involves Retrieving attribute values from the instance Writing attribute values to a file –Disadvantage It is necessary to re-create the object

4 Object-Oriented Application Development Using VB.NET 4 Making Objects Persistent

5 Object-Oriented Application Development Using VB.NET 5 Making Objects Persistent Options for storing and retrieving objects: –Attribute storage and retrieval using the StreamWriter and StreamReader –Object serialization –Attribute storage and retrieval using databases

6 Object-Oriented Application Development Using VB.NET 6 Making Objects Persistent Object serialization –An easy way to store and retrieve objects –Serialization process Transforms an object into a stream that can be saved to a sequential file –Deserialization Transforms the stream from the file back to the object state before the object was stored –Advantage The object can be retrieved intact It is not necessary to re-create the object

7 Object-Oriented Application Development Using VB.NET 7 Making Objects Persistent Databases –One or more files organized to help make queries –Can be used to make objects persistent –Organize data into tables that can be related to each other Each table column represents an attribute Each row represents a record –Structured Query Language (SQL) A standard set of keywords and statements used to access relational databases

8 Object-Oriented Application Development Using VB.NET 8 Designing a Data Access Class Purpose of a DA class –To provide methods that store and retrieve data –Make instances of a PD class persistent Reasons for placing data storage and retrieval tasks in a DA class –Data input and output code are isolated from other classes Can dramatically reduce maintenance –Separate classes for each tier make deployment easier in a client-server environment GUI, PD, and DA functions may reside on multiple machines at various sites

9 Object-Oriented Application Development Using VB.NET 9 Designing a Data Access Class DA methods can be invoked only by the PD class –Services provided by the DA class appear to be provided by the PD class –Hides the DA class from all other classes

10 Object-Oriented Application Development Using VB.NET 10 Data Access Methods A separate DA class is written for each PD class Example: –CustomerDA Provides data storage and retrieval services for customers Methods can only be invoked by the PD class

11 Object-Oriented Application Development Using VB.NET 11 Data Access Methods Four basic tasks provided by CustomerDA and Customer: –Retrieve a customer –Store a customer –Change a customer’s data –Remove a customer

12 Object-Oriented Application Development Using VB.NET 12 Data Access Methods CustomerDA class –Find method Functionality implemented: retrieve a customer –AddNew method Functionality implemented: store a customer –Update method Functionality implemented: update a customer’s data –Delete method Functionality implemented: remove a customer

13 Object-Oriented Application Development Using VB.NET 13 Data Access Methods CustomerDA class (continued) –Additional methods Initialize Terminate GetAll –Exception handler classes NotFoundException DuplicateException

14 Object-Oriented Application Development Using VB.NET 14 Communicating with a Data Access Class Customer class –Invokes methods in CustomerDA –Methods Find AddNew Find Delete Initialize Terminate GetAll

15 Object-Oriented Application Development Using VB.NET 15 Finding a Customer The PD Find method –Invokes the DA Find method Public Shared Function Find(ByVal PhoneNo As String) As Customer Return CustomerDA.Find(PhoneNo) End Function

16 Object-Oriented Application Development Using VB.NET 16 Adding a Customer The PD AddNew method –Invokes the AddNew method in the DA class to store a new customer instance Public Sub AddNew() CustomerDA.AddNew(Me) End Sub

17 Object-Oriented Application Development Using VB.NET 17 Changing a Customer The PD Update method –Invokes the Update method in the DA class Public Sub Update() CustomerDA.Update(Me) End Sub

18 Object-Oriented Application Development Using VB.NET 18 Deleting a Customer The PD Delete method –Invokes the Delete method in the DA class Public Sub Delete() CustomerDA.Delete(Me) End Sub

19 Object-Oriented Application Development Using VB.NET 19 Additional Problem Domain Methods Additional PD methods –Initialize Public Shared Sub Initialize() CustomerDA.Initialize() End Sub –Terminate Public Shared Sub Terminate() CustomerDA.Terminate() End Sub

20 Object-Oriented Application Development Using VB.NET 20 Additional Problem Domain Methods Additional PD methods (continued) –GetAll Public Shared Function GetAll() As ArrayList Return CustomerDA.GetAll End Function

21 Object-Oriented Application Development Using VB.NET 21 Implementing Persistence with Object Serialization Persistence using object serialization –Uses object storage –Complete object instances are written to and read from a file –Instances are retrieved intact There is no need to re-create instances –Uses the FileStream class

22 Object-Oriented Application Development Using VB.NET 22 Implementing Persistence with Object Serialization To change from sequential access file processing to object serialization –Add the attribute to the Customer definition header –Change the following methods in CustomerDA Initialize Terminate

23 Object-Oriented Application Development Using VB.NET 23 Using Relational Databases with VB.NET Relational databases –Referred to as database management systems (DBMSs) –Provide tools for organizing data into tables In a DBMS –Each column represents a field –Each row represents a record –Primary key: a field used to uniquely identify a record

24 Object-Oriented Application Development Using VB.NET 24 Structured Query Language Structured Query Language (SQL) –A standardized language used to manage and query relational databases –Used by DA methods Find method uses the SQL SELECT statement to –Retrieve a specific customer’s record from the database AddNew method uses the SQL INSERT INTO statement to –Add a new customer’s record to the database

25 Object-Oriented Application Development Using VB.NET 25 Structured Query Language Uses of SQL by DA methods (continued) –Update method uses the SQL UPDATE statement to Change the contents of one or more fields in a customer’s record –Delete method executes the SQL DELETE statement SQL DELETE statement specifies the key value of the customer to be deleted

26 Object-Oriented Application Development Using VB.NET 26 Accessing a DBMS with VB.NET VB.NET options for accessing data –ADO (Active-X Data Objects) Maintains a constant connection to the server Data is kept and processed in a recordset –ADO.NET Only connects to the server when –Data is needed from the data store –Updates back to the data store are required Relies on the concept of datasets as the basis for processing data

27 Object-Oriented Application Development Using VB.NET 27 VB.NET Database Access Classes VB.NET managed providers for accessing data: –The OleDb data provider Designed for accessing Microsoft Access databases and other non-SQLServer data sources Namespace: OleDb –The SQLServer data provider Designed for accessing Microsoft SQLServer databases Namespace: SQLClient Object database connectivity (ODBC) –Can be used to access most other databases

28 Object-Oriented Application Development Using VB.NET 28 VB.NET Database Access Classes

29 Object-Oriented Application Development Using VB.NET 29 VB.NET and DBMS Example Example –Project involves working with data from a relational database Selecting, adding, updating, and deleting rows from a table –The GUI includes A data grid Four buttons –Add Record –Update Record –Delete Record –Find

30 Object-Oriented Application Development Using VB.NET 30 VB.NET and DBMS Example

31 Object-Oriented Application Development Using VB.NET 31 Implementing Object Persistence with a Database To implement object persistence with a relational database –Initialize method establishes a connection to the database –Find, AddNew, Update, Delete, and GetAll methods access the database directly –Terminate method closes the database connection

32 Object-Oriented Application Development Using VB.NET 32 Summary Object persistence: storing instance data for future retrieval Persistence can be achieved by storing either attribute values or entire instances A data access (DA) class provides methods that store and retrieve data Methods of a DA class are invoked only by the methods of the corresponding PD class Methods of a DA class: Find, AddNew, Update, Delete, GetAll, Initialize, and Terminate

33 Object-Oriented Application Development Using VB.NET 33 Summary VB.NET’s stream approach to I/O views data input and output as a flow of bytes Persistence can be achieved using sequential files, object serialization, or relational databases A relational database is used to organize data into tables In a relational database, each column represents a field and each row represents a record SQL is a popular, standard language used to access relational databases


Download ppt "Object-Oriented Application Development Using VB.NET 1 Chapter 13 Introduction to Data Access Classes and Persistence."

Similar presentations


Ads by Google