Chapter 12: Using ADO.NET 2.0

Preview:

DESCRIPTION

Chapter 12: Using ADO.NET 2.0. Programming with Microsoft Visual Basic 2005, Third Edition. Databases Lesson A Objectives. Define the terms used when talking about databases Connect an application to a database Bind table and field objects to controls - PowerPoint PPT Presentation

Citation preview

Chapter 12: Using ADO.NET 2.0

Programming with Microsoft Visual Basic 2005, Third Edition

2Programming with Microsoft Visual Basic 2005, Third Edition

DatabasesLesson A Objectives

• Define the terms used when talking about databases

• Connect an application to a database

• Bind table and field objects to controls

• Explain the purpose of the DataSet, BindingSource, TableAdapter, and BindingNavigator objects

3Programming with Microsoft Visual Basic 2005, Third Edition

DatabasesLesson A Objectives (continued)

• Access the records in a dataset

• Move the record pointer

4Programming with Microsoft Visual Basic 2005, Third Edition

Previewing the Trivia Game Application

• Go to Run command on Windows Start menu

• Browse to the VB2005\Chap12 folder

• Open the Trivia Game.exe file

• Trivia Game application user interface appears

5Programming with Microsoft Visual Basic 2005, Third Edition

Previewing the Trivia Game Application (continued)

Figure 12-1: Trivia Game application

6Programming with Microsoft Visual Basic 2005, Third Edition

Database Terminology

• Database: organized collection of related information

• Relational database– Database that stores information in tables– Each column in a table represents a field– Each row in a table represents a record

• Primary key: field uniquely identifying a record

• A two-table database has parent and child tables

• Foreign key: links child record to parent record

7Programming with Microsoft Visual Basic 2005, Third Edition

Database Terminology (continued)

Figure 12-2: Example of a one-table relational database

8Programming with Microsoft Visual Basic 2005, Third Edition

Database Terminology (continued)

Figure 12-3: Example of a two-table relational database

9Programming with Microsoft Visual Basic 2005, Third Edition

ADO.NET 2.0

• ADO (ActiveX Data Objects).Net 2.0 technology– Connects an application to a database– Allows application to read from and write to database– Connection is closed after dataset is copied or saved

• Dataset: copy of records application wants to access

• Opening Employees.mdf in IDE window– Connect the database to an application– Right-click table’s name in Server Explorer window– Click Show Table Data

10Programming with Microsoft Visual Basic 2005, Third Edition

ADO.NET (continued)

Figure 12-4: Data contained in the tblEmploy table

11Programming with Microsoft Visual Basic 2005, Third Edition

Connecting an Application to a Database

• Create a database connection to access data

• Data Source Configuration Wizard– Helps you connect an application to a database

12Programming with Microsoft Visual Basic 2005, Third Edition

Connecting an Application to a Database (continued)

Figure 12-5: Procedure for connecting an application to a database

13Programming with Microsoft Visual Basic 2005, Third Edition

Connecting an Application to a Database (continued)

Figure 12-12: EmployeesDataSet added to the Data Sources window

14Programming with Microsoft Visual Basic 2005, Third Edition

Previewing the Data Contained in a Dataset

• Right-click the Data Sources window

• Click Preview Data to open Preview Data dialog box

• Select the object to preview, then click Preview

• After previewing the data, click the Close button

15Programming with Microsoft Visual Basic 2005, Third Edition

Previewing the Data Contained in a Dataset (continued)

Figure 12-14: Data displayed in the Preview Data dialog box

16Programming with Microsoft Visual Basic 2005, Third Edition

Binding the Objects in a Dataset

• Bind dataset objects before viewing contents

• Binding: connecting a dataset object to a control

• Bound controls: the connected controls

• Types of controls used to bind dataset objects– Computer-created control– Existing control

17Programming with Microsoft Visual Basic 2005, Third Edition

Binding the Objects in a Dataset (continued)

Figure 12-15: Ways to bind the objects in a dataset

18Programming with Microsoft Visual Basic 2005, Third Edition

Having the Computer Create a Bound Control

• Impact of dragging dataset object to form– Computer creates control (indicated by icon)– Dataset object is automatically bound to control

• Example– Drag tblEmployee table object to form– DataGridView control displays tabular data– Rows represent records, columns represent fields

• Use list arrow to change control linked to object

19Programming with Microsoft Visual Basic 2005, Third Edition

Having the Computer Create a Bound Control (continued)

Figure 12-17: Result of clicking the tblEmploy table object’s list arrow

20Programming with Microsoft Visual Basic 2005, Third Edition

Having the Computer Create a Bound Control (continued)

Figure 12-20: Illustration of the relationships among the database, the objects in the component tray, and the

controls on the form

21Programming with Microsoft Visual Basic 2005, Third Edition

The Copy to Output Directory Property

• Determines the way a file is handled in application

• Copy always– Default setting of Copy to Output Directory property– Database file copied to project’s bin\Debug folder– Result: .mdf file appears in two different folders – Changes to file in bin\Debug folder are overwritten

• Copy if newer– Set this property to preserve run-time changes– Copies over file in bin\Debug only if file is not current

22Programming with Microsoft Visual Basic 2005, Third Edition

Binding to an Existing Control

• Method 1– Drag object from Data Sources window to control

• Method 2– Click the control – Set one or more properties in the Properties window

• Properties to set depends on control being bound– DataGrid: set DataSource and DataMember– ListBox: set DataSource and DisplayMember

23Programming with Microsoft Visual Basic 2005, Third Edition

Binding to an Existing Control (continued)

Figure 12-23: Result of dragging the field objects to the existing label controls

24Programming with Microsoft Visual Basic 2005, Third Edition

Accessing the Records in a Dataset

• BindingSource object’s Position property– Stores an invisible record pointer – Positions are integer values = 0

• Syntax: bindingSourceName.Position

• Example– Me.TblEmployBindingSource.Position = 4– Moves record pointer to fifth record in the dataset

• BindingSource object’s Move methods– Also used to move the record pointer in a dataset

25Programming with Microsoft Visual Basic 2005, Third Edition

Accessing the Records in a Dataset (continued)

Figure 12-25: Syntax and examples of the BindingSource object’s Move methods

26Programming with Microsoft Visual Basic 2005, Third Edition

Summary – Lesson A

• A relational database stores information in tables

• Tables comprise rows (records) and columns (fields)

• Two-table database comprises parent and child tables

• Two types of id fields: primary key and foreign key

• Relational database is stored as a file on disk

27Programming with Microsoft Visual Basic 2005, Third Edition

Summary – Lesson A (continued)

• ADO.NET 2.0 connects application to database

• Dataset: copies of records from database stored in main memory

• To view dataset objects, they must be bound to a control

• Use BindingSource object’s Position property or its Move methods to move the record pointer

28Programming with Microsoft Visual Basic 2005, Third Edition

Creating Queries Lesson B Objectives

• Write SQL SELECT statements

• Create a query using the Query Configuration Wizard

• Associate a ToolStrip control with a query

29Programming with Microsoft Visual Basic 2005, Third Edition

The DataSet Designer

• Browse to VB2005\Chap12 folder

• Copy Morgan Industries Solution-DataGrid folder

• Rename copy as follows:– Morgan Industries Solution-DataGrid-Query

• Open new file in Visual Studio 2005

30Programming with Microsoft Visual Basic 2005, Third Edition

The DataSet Designer (continued)

Figure 12-26: Data displayed in the TblEmployDataGridView control

31Programming with Microsoft Visual Basic 2005, Third Edition

The DataSet Designer (continued)

• DataSet Designer controls the display of data– Shows name of table and field objects for dataset– Also shows the name of TableAdapter object

• TableAdapter object: queries underlying database

• Query: specifies fields and records to retrieve

• DataSet Designer puts .xsd file in Solution Explorer

• .xsd extension indicates XML schema definition file– XML (extensible markup language)– .xsd file type defines tables and fields for a dataset

32Programming with Microsoft Visual Basic 2005, Third Edition

The DataSet Designer (continued)

Figure 12-27: Three ways to open the DataSet Designer

33Programming with Microsoft Visual Basic 2005, Third Edition

The Dataset Designer (continued)

Figure 12-28: DataSet Designer

34Programming with Microsoft Visual Basic 2005, Third Edition

Structured Query Language

• Structured Query Language (SQL)– Access/manipulate data stored in databases – Organized as a set of commands

• Database tasks performed with SQL commands– Storing, retrieving, updating, deleting, and sorting

• SELECT statement– Most commonly used command in SQL– Specifies the fields and records you want to view– Refine query with WHERE and/or ORDER BY clause

35Programming with Microsoft Visual Basic 2005, Third Edition

Structured Query Language (continued)

Figure 12-30: Syntax and examples of the SELECT statement (continued)

36Programming with Microsoft Visual Basic 2005, Third Edition

Structured Query Language (continued)

Figure 12-30: Syntax and examples of the SELECT statement

37Programming with Microsoft Visual Basic 2005, Third Edition

Creating a New Query

• Use TableAdapter Query Configuration Wizard

38Programming with Microsoft Visual Basic 2005, Third Edition

Creating a New Query (continued)

Figure 12-31: Procedure for creating a query using the TableAdapter Query Configuration Wizard

39Programming with Microsoft Visual Basic 2005, Third Edition

Creating a New Query (continued)

Figure 12-38: SELECT statement containing the WHERE and ORDER BY clauses

40Programming with Microsoft Visual Basic 2005, Third Edition

Allowing the User to Run a Query

• ToolStrip control– Allows a user to run a query at runtime

• How to add query feature– Right-click the name of the TableAdapter object – Click Add Query to open Search Criteria Builder dialog– Select the Existing query name radio button– Click the down arrow in list box next to radio button– Click the name of the query in the list– Click OK button to close Search Criteria Builder dialog

41Programming with Microsoft Visual Basic 2005, Third Edition

Allowing the User to Run a Query (continued)

Figure 12-44: ToolStrip control and object added to the application

42Programming with Microsoft Visual Basic 2005, Third Edition

Summary – Lesson B

• DataSet Designer: used to control the display of fields and records from a database

• TableAdapter object: connects dataset to underlying database using queries

• Query: specifies fields and records to retrieve from a database

• Structured Query Language (SQL): set of commands used to access and manipulate data in a database

• Select statement: specifies fields/records to view

43Programming with Microsoft Visual Basic 2005, Third Edition

The Trivia Game ApplicationLesson C Objectives

• Connect a SQL Server database to an application

• Bind field objects to controls in an interface

• Position the record pointer in a dataset

• Determine the number of records in a dataset

44Programming with Microsoft Visual Basic 2005, Third Edition

Coding the Trivia Game Application

• Review requirements for Trivia Game application – Display questions along with answers – Allow user to select from set of answers – Track number of incorrect answers – Display information at the end of the game

• Location of partial solution – VB2005\Chap12\Trivia Game Solution folder

• First set of tasks – Connect application to Trivia.mdf, define dataset

45Programming with Microsoft Visual Basic 2005, Third Edition

Coding the Trivia Game Application (continued)

Figure 12-47: Completed Add Connection dialog box

46Programming with Microsoft Visual Basic 2005, Third Edition

Coding the Trivia Game Application (continued)

Figure 12-49: TriviaDataSet added to the Data Sources window

47Programming with Microsoft Visual Basic 2005, Third Edition

Coding the Trivia Game Application (continued)

• Tasks following definition of the dataset – Preview data that can be displayed– Bind field objects to text boxes

• Three event procedures to code – xExitButton’s Click event procedure– MainForm’s Load event procedure– xSubmitButton’s Click event procedure

• Test the application after all code is added

48Programming with Microsoft Visual Basic 2005, Third Edition

Coding the Trivia Game Application (continued)

Figure 12-51: Question field object being dragged to the xQuestionTextBox

49Programming with Microsoft Visual Basic 2005, Third Edition

Coding the Trivia Game Application (continued)

Figure 12-55: Pseudocode for the xSubmitButton’s Click event procedure

50Programming with Microsoft Visual Basic 2005, Third Edition

Summary – Lesson C

• First step for accessing a database: connect the application to a database

• Following connection to database, specify field objects that will form a dataset

• Dataset objects can be bound to interface controls

• Methods of BindingSource objects enable you to move through records

Recommended