Microsoft Visual Basic 2012 CHAPTER TEN Incorporating Databases with ADO.NET.

31
Microsoft Visual Basic 2012 CHAPTER TEN Incorporating Databases with ADO.NET

Transcript of Microsoft Visual Basic 2012 CHAPTER TEN Incorporating Databases with ADO.NET.

Page 1: Microsoft Visual Basic 2012 CHAPTER TEN Incorporating Databases with ADO.NET.

Microsoft Visual Basic 2012

CHAPTER TEN

Incorporating Databases

with ADO.NET

Page 2: Microsoft Visual Basic 2012 CHAPTER TEN Incorporating Databases with ADO.NET.

10

Chapter 10: Incorporating Databases with ADO.NET 2

Objectives

►Understand database files►Connect to a database using ADO.NET 4.5►Use multiple database types►Connect Form objects to the data source►Bind database fields to the Windows Form object►Access database information on a Windows Form

object

Page 3: Microsoft Visual Basic 2012 CHAPTER TEN Incorporating Databases with ADO.NET.

10

Chapter 10: Incorporating Databases with ADO.NET 3

Objectives

►Add a record►Delete a record►Select records from a list►Program beyond the Database Wizard►Create the OleDbDataAdapter object

Page 4: Microsoft Visual Basic 2012 CHAPTER TEN Incorporating Databases with ADO.NET.

10

Chapter 10: Incorporating Databases with ADO.NET 4

Chapter Project

Page 5: Microsoft Visual Basic 2012 CHAPTER TEN Incorporating Databases with ADO.NET.

10

Chapter 10: Incorporating Databases with ADO.NET 5

Database Files

►A database is a collection of related information stored in a structured format

►A database organizes data in tables►Each row is referred to as a record►Each column in a table is referred to as a field►A unique field is an identifier that represents the

primary key for the table

Page 6: Microsoft Visual Basic 2012 CHAPTER TEN Incorporating Databases with ADO.NET.

10

Chapter 10: Incorporating Databases with ADO.NET 6

Establishing a Database Connection

►Create a Windows application named Urban Gardens. Name the form frmGarden. Change the Text property to Urban Gardening. Resize the form to a size of 780, 530. Change the BackColor property to White on the Web tab. An image representing one of the local gardeners named Garden.jpg is available with your Data Files. Place a PictureBox object on the left side of the window. Name the PictureBox object picGarden. Change the Size property to 255,160. Make the location 24,30. Using the Image property, import the Garden.jpg image for the PictureBox object

Page 7: Microsoft Visual Basic 2012 CHAPTER TEN Incorporating Databases with ADO.NET.

10

Chapter 10: Incorporating Databases with ADO.NET 7

Establishing a Database Connection

►Change the SizeMode to StretchImage. On the right side of the form, place a Label object named lblTitle. Change the Text property to Urban Gardens. Make the Font property Script MT, Bold, size 40, and the ForeColor property Green on the Web tab. Change the Location property of the lblTitle Label object to 300,65. Close the Toolbox, and then tap or click PROJECT on the menu bar

►Tap or click ‘Add New Data Source’ on the PROJECT menu

►In the Choose a Data Source Type dialog box, tap or click Database, and then tap or click Next. In the Choose a Database Model dialog box, tap or click Dataset, and then tap or click Next

Page 8: Microsoft Visual Basic 2012 CHAPTER TEN Incorporating Databases with ADO.NET.

10

Chapter 10: Incorporating Databases with ADO.NET 8

Establishing a Database Connection

►Tap or click the New Connection button. In the Add Connection dialog box, tap or click the Change... button to select the data source

►In the Choose Data Source dialog box, select Microsoft Access Database File because the Garden database is an Access database. Tap or click the OK button

►Tap or click the Browse button to the right of Database file name. Select the USB device on the E: drive, and then select the file named Garden

Page 9: Microsoft Visual Basic 2012 CHAPTER TEN Incorporating Databases with ADO.NET.

10

Chapter 10: Incorporating Databases with ADO.NET 9

Establishing a Database Connection

►Tap or click the Open button►Tap or click the OK button in the Add Connection dialog

box►Click the Next button►Click the No button and then tap or click the Next button.

When the Choose Your Database Objects dialog box opens, select which database objects you want in the DataSet. Tap or click the expand icon next to the Tables option. Tap or click the Gardener check box to select that table. A connection is made from the Visual Basic application to the Gardener table within the Garden.accdb database

►Tap or click the Finish button. Tap or click GardenDataSet.xsd to select the DataSet

Page 10: Microsoft Visual Basic 2012 CHAPTER TEN Incorporating Databases with ADO.NET.

10

Chapter 10: Incorporating Databases with ADO.NET 10

Establishing a Database Connection

Page 11: Microsoft Visual Basic 2012 CHAPTER TEN Incorporating Databases with ADO.NET.

10

Chapter 10: Incorporating Databases with ADO.NET 11

Connecting Form Objects to the Data Source

►In the Garden project window, point to the Data Sources tab on the left side of the window. If the Data Sources tab is not visible, tap or click VIEW on the menu bar, tap or click Other Windows and then tap or click Data Sources

►Tap or click Data Sources to view the database sources►Tap or click the expand icon for the Gardener table to

expand the list of field names within the table. Each bindable field item in the Data Sources window can be placed on the Windows Form object

Page 12: Microsoft Visual Basic 2012 CHAPTER TEN Incorporating Databases with ADO.NET.

10

Chapter 10: Incorporating Databases with ADO.NET 12

Connecting Form Objects to the Data Source

Page 13: Microsoft Visual Basic 2012 CHAPTER TEN Incorporating Databases with ADO.NET.

10

Chapter 10: Incorporating Databases with ADO.NET 13

Binding Database Fields to the Windows Form

► Select the Plot ID field in the Data Sources window. Drag the Plot ID field to the Windows Form object, below the PictureBox object

► Drag the rest of the field objects from the Data Sources window to the Windows form. Select all the field labels and field TextBox objects and change the font to size 10 points. Use the formatting tools on the FORMAT menu to equally distribute the bound objects. You can select the Label and the TextBox objects separately to move them independently of each other. Use the layout shown in Figure 10-24 on page 712

► Run the application by tapping or clicking the StartDebugging button on the Standard toolbar to fill the Windows Form object with the data from the Gardener table. Use the Move next button on the navigation toolbar to move through the records. Tap or click the Move last button to display the last record

Page 14: Microsoft Visual Basic 2012 CHAPTER TEN Incorporating Databases with ADO.NET.

10

Chapter 10: Incorporating Databases with ADO.NET 14

Binding Database Fields to the Windows Form

Page 15: Microsoft Visual Basic 2012 CHAPTER TEN Incorporating Databases with ADO.NET.

10

Chapter 10: Incorporating Databases with ADO.NET 15

Adding a Record

►Tap or click the Start Debugging button on the Standard toolbar to run the Urban Garden application

►Tap or click the Add new button to add a new record to the database table

►Add a new record by typing the Plot ID, 777.Type the rest of the information as displayed in Figure 10-28 on page 716. After the record is complete, tap or click the Save Data button on the BindingNavigator control to save the new record to the original database

Page 16: Microsoft Visual Basic 2012 CHAPTER TEN Incorporating Databases with ADO.NET.

10

Chapter 10: Incorporating Databases with ADO.NET 16

Adding a Record

Page 17: Microsoft Visual Basic 2012 CHAPTER TEN Incorporating Databases with ADO.NET.

10

Chapter 10: Incorporating Databases with ADO.NET 17

Deleting Records

►Tap or click the Start Debugging button on the Standard toolbar to execute the Intuition Urban Gardens application

►Use the navigation buttons to move to Tracy Tirrell’s record. Her garden record should be deleted because she is moving from the area. Tap or click the Delete button on the BindingNavigator control to delete her record from the database table. Tap or click the Save Data button to remove the record from the original database

Page 18: Microsoft Visual Basic 2012 CHAPTER TEN Incorporating Databases with ADO.NET.

10

Chapter 10: Incorporating Databases with ADO.NET 18

Deleting Records

Page 19: Microsoft Visual Basic 2012 CHAPTER TEN Incorporating Databases with ADO.NET.

10

Chapter 10: Incorporating Databases with ADO.NET 19

Selecting Records from a List

► Select the GardenerName Label object and TextBox object on the Windows form. Press the DELETE key to delete the Gardener Name objects from the Windows form. Select the Gardener Name table field in the Data Sources window and then tap or click its list arrow

► Tap or click the ComboBox object from the Toolbox object listing for the Gardener Name field. Drag the Gardener Name field ComboBox object to the original location of the Name TextBox object on the Windows Form object. Change the font size to 10 and then align the ComboBox with the other objects on the Windows Form

► To fill the ComboBox object with the names of gardeners, the ComboBox object must be bound to the Gardener Name field. To bind the items to the ComboBox object, select the Gardener Name object on the Windows form and tap or click the Action tag on the Gardener Name ComboBox object

Page 20: Microsoft Visual Basic 2012 CHAPTER TEN Incorporating Databases with ADO.NET.

10

Chapter 10: Incorporating Databases with ADO.NET 20

Selecting Records from a List

► Tap or click the Use Data Bound Items check box on the ComboBox Tasks menu. The Data Binding Mode list is displayed. Tap or click the Data Source list arrow under the Data Binding Mode and then select the GardenerBindingSource to connect the table to the ComboBox object. Next, tap or click the Display Member list arrow and then select Gardener Name. Tap or click the Value Member list arrow and then tap or click Gardener Name in the list. Do not change the Selected value entry

► Tap or click the Start Debugging button on the Standard toolbar to run the application. After the Windows form opens, tap or click the list arrow on the Gardener Name ComboBox object

► Tap or click Ramona Coveny to move directly to the record containing the information for Ramona Coveny’s urban garden

Page 21: Microsoft Visual Basic 2012 CHAPTER TEN Incorporating Databases with ADO.NET.

10

Chapter 10: Incorporating Databases with ADO.NET 21

Selecting Records from a List

Page 22: Microsoft Visual Basic 2012 CHAPTER TEN Incorporating Databases with ADO.NET.

10

Chapter 10: Incorporating Databases with ADO.NET 22

Programming Beyond the Database Wizard

Page 23: Microsoft Visual Basic 2012 CHAPTER TEN Incorporating Databases with ADO.NET.

10

Chapter 10: Incorporating Databases with ADO.NET 23

Programming Beyond the Database Wizard

► Download the original Access database file Garden.accdb again to overwrite any data you added or deleted from the database. Open the Urban Gardens Windows application. Add a Button object named btnCost to the Windows Form object and change the Text property to Total Planting Cost. Change the font size to 12 and the ForeColor property to Green. Set the Size property for the button to 238, 35 and center the Button object horizontally across the form. Add a Label object named lblTotalPlantingCost with the Text property of 23 “X’s” and center the text. Change the font size to 12 points. Set the Visible property for the lblTotalPlanningCost Label object to False because the X’s should not be displayed when the program begins

Page 24: Microsoft Visual Basic 2012 CHAPTER TEN Incorporating Databases with ADO.NET.

10

Chapter 10: Incorporating Databases with ADO.NET 24

Programming Beyond the Database Wizard

► Double-tap or double-click the Total Planting Cost button to create the btnCost_Click event handler. To initialize the OleDbDataAdapter, enter the code in Figure 10-44 on page 728 inside the click event. The first variable strSql is assigned the SQL statement that queries all the fields in the Gardener table. The second variable strPath is assigned the database driver for Access and the path to the Garden.accdb file. The third variable odaGarden is an instance of the OleDbDataAdapter

► After the first three variables are initialized, initialize the rest of the variables needed for the Button object event handler. An instance named datCost is initialized to represent the DataTable object. The intCount variable is used to count through a For loop. The last variable, decTotalCost, will contain the total amount of the spring planting costs

Page 25: Microsoft Visual Basic 2012 CHAPTER TEN Incorporating Databases with ADO.NET.

10

Chapter 10: Incorporating Databases with ADO.NET 25

Programming Beyond the Database Wizard

►Continuing inside the btnCost_Click event handler, enter the code in Figure 10-46 on page 729 to fill the DataTable with the contents of the Gardener table. In the next line of code, the Dispose method to close the connection

►Enter the code in Figure 10-47 on page 729 to create a For loop to increment through each record in the Gardener table. Because the rows are numbered 0 to 15, the upper range is one less than the numbers of rows in the table, making 16 records. The value in each Cost field is added to the value in the decTotalCost variable

►Enter the code in Figure 10-48 on page 729 to display the total spring planting cost

Page 26: Microsoft Visual Basic 2012 CHAPTER TEN Incorporating Databases with ADO.NET.

10

Chapter 10: Incorporating Databases with ADO.NET 26

Program Design

Page 27: Microsoft Visual Basic 2012 CHAPTER TEN Incorporating Databases with ADO.NET.

10

Chapter 10: Incorporating Databases with ADO.NET 27

Program Design

Page 28: Microsoft Visual Basic 2012 CHAPTER TEN Incorporating Databases with ADO.NET.

10

Chapter 10: Incorporating Databases with ADO.NET 28

Event Planning Document

Page 29: Microsoft Visual Basic 2012 CHAPTER TEN Incorporating Databases with ADO.NET.

10

Chapter 10: Incorporating Databases with ADO.NET 29

Summary

►Understand database files►Connect to a database using ADO.NET 4.5►Use multiple database types►Connect Form objects to the data source►Bind database fields to the Windows Form object►Access database information on a Windows Form

object

Page 30: Microsoft Visual Basic 2012 CHAPTER TEN Incorporating Databases with ADO.NET.

10

Chapter 10: Incorporating Databases with ADO.NET 30

Summary

►Add a record►Delete a record►Select records from a list►Program beyond the Database Wizard►Create the OleDbDataAdapter object

Page 31: Microsoft Visual Basic 2012 CHAPTER TEN Incorporating Databases with ADO.NET.

Microsoft Visual Basic 2012

CHAPTER TEN COMPLETE

Incorporating Databases

with ADO.NET