Download presentation
Presentation is loading. Please wait.
Published byMarilynn Dennis Modified over 8 years ago
1
Programming with Microsoft Visual Basic 2012 Chapter 13: Working with Access Databases and LINQ
2
Previewing the Paradise Bookstore Application Programming with Microsoft Visual Basic 20122 Figure 13-1 Books written by Carol Smith Figure 13-2 Total value of the inventory Displays records in the Books database Allows the store manager to enter an author’s name (or part of a name) –Displays only books written by the author Displays the total value of books in the store
3
Lesson A Objectives After studying Lesson A, you should be able to: Define basic database terminology Connect an application to a Microsoft Access database Bind table and field objects to controls Explain the purpose of the DataSet, BindingSource, TableAdapter, TableAdapterManager, and BindingNavigator objects Customize a DataGridView control Handle errors using the Try…Catch statement Position the record pointer in a dataset Programming with Microsoft Visual Basic 20123
4
Computer database –An electronic file containing an organized collection of related information Relational database –A database that stores information in tables composed of rows and columns –Each column in a table represents a field –Each row in a table represents a record Field –A single piece of information about a person, place, or thing Programming with Microsoft Visual Basic 20124 Database Terminology
5
Record –A group of related fields that contain all the necessary data about a specific person, place, or thing Table –A group of related records –Each record in a table pertains to the same topic and contains the same type of information Primary key –A field uniquely identifying a record Foreign key –A field that links a record in child table to a record in parent table Programming with Microsoft Visual Basic 20125 Database Terminology (cont.)
6
Programming with Microsoft Visual Basic 20126 Table Examples in Relational Database Figure 13-3 Example of a one-table relational database Figure 13-4 Example of a two-table relational database
7
Programming with Microsoft Visual Basic 20127 Connecting an Application to a Microsoft Access Database MS Access database has a file extension of.accdb Must create a database connection to access data The connection is made using the Data Source Configuration Wizard –Data Source Configuration Wizard Helps you connect an application to a specified database –The computer makes a copy of the specified data and stores the copy in its internal memory –The copy of the data you want to access is called a dataset
8
Programming with Microsoft Visual Basic 20128 Data Contained in tblEmploy Table Figure 13-5 Data contained in the tblEmploy table
9
Connecting an Application to a Microsoft Access Database (cont’d.) Open the Solution Explorer window Open the Morgan Industries Solution file –Morgan Industries Solution-DataGridView Click the View menu and then click Server Explorer (Visual Studio) or Database Explorer (Visual Basic Express) 實作練習 : 需下載 Chap13 的 Morgan Industries Solution-DataGridView Access Databases\Employees.accdb 9 9
10
Connecting an Application to a Microsoft Access Database (cont’d.) Click View on the menu bar, pointing to Other Windows and then click Data Sources to open Data Sources window Click Add New Data Source button, and then select Database to open Add Connection window 1.Choose type of database (data source) Click New Connection button, and then select Microsoft Access Database File (OLE DB) 2.Choose file name of database Click Browse, navigate to database file, and then click Open 3.Click Test Connection button, and if successful, click Next 實作練習 在第 768~771 頁 10 screen 10
11
11
12
Connecting an Application to a Microsoft Access Database (cont’d.) Click Yes to include the database file in the current project Click Yes to save connection string On Choose Your Database Objects screen, select tblEmployee table of the Employees.accdb database 12 screen 12
13
Programming with Microsoft Visual Basic 2010, 5 th Edition Connecting an Application to a Microsoft Access Database (cont’d.) Figure 13-8 Message regarding copying the database file 13
14
Programming with Microsoft Visual Basic 2010, 5 th Edition Connecting an Application to a Microsoft Access Database (cont’d.) Figure 13-9 Objects selected in the Choose Your Database Objects screen 14
15
Programming with Microsoft Visual Basic 2010, 5 th Edition Connecting an Application to a Microsoft Access Database (cont’d.) Figure 13-9 Result of running the Data Source Configuration Wizard 15
16
Previewing the Contents of a Dataset Right-clicking EmployeesDataSet in the Data Sources window and then clicking Preview Data 實作練習 在第 771~772 頁 16 screen 16
17
Figure 13-11 Data displayed in the Preview Data dialog box 17 Preview Data dialog Box 17
18
You must bind one or more objects in the dataset to controls in the interface to view dataset contents Binding –Connecting an object to a control Bound controls –Connected controls Types of controls used to bind dataset objects: –Computer-created control –Existing control on the form Programming with Microsoft Visual Basic 201218 Binding the Objects in a Dataset Figure 13-12 Two ways to bind an object in a dataset
19
Programming with Microsoft Visual Basic 201219 Figure 13-13 Icons in the Data Sources window Figure 13-14 Result of clicking the tblEmploy object’s list arrow Binding the Objects in a Dataset (cont.) Having the Computer Create a Bound Control When you drag a dataset object onto a form: –The computer creates the control (its type is indicated by an icon) –The dataset object is automatically bound to the control Example: –Drag the tblEmployee table object to the form –The DataGridView control is created to display tabular data, with rows representing records and columns representing fields Use the list arrow to change the type of control linked to the object
20
Programming with Microsoft Visual Basic 201220 Figure 13-15 Result of clicking the Last_Name object’s list arrow Figure 13-16 Result of dragging the table object to the form Binding the Objects in a Dataset (cont.) Having the Computer Create a Bound Control (cont.) 實作練習 在 第 774 頁
21
Having the Computer Create a Bound Control (cont.) In addition to a control, the computer adds: –BindingNavigator control To move from one record to the next in the dataset –TableAdapter object Connects the database to the DataSet object responsible for retrieving data and storing it in the DataSet –TableAdapterManager object Handles saving data to multiple tables in the DataSet –BindingSource object Provides the connection between the DataSet and the bound controls Programming with Microsoft Visual Basic 201221 Figure 13-17 Illustration of the relationships among the database, the objects in the component tray, and the bound controls Binding the Objects in a Dataset (cont.)
22
Programming with Microsoft Visual Basic 201222 The DataGridView Control DataGridView control –Displays data in a row and column format –Cell Intersection of a row and a column –The DataGridView’s task list allows you to add, reorder, and remove columns and set properties of bound columns –AutoSizeColumnsMode property Has seven settings that control how the column widths are sized –Fill setting Automatically adjusts the column widths so that the display area of the control is filled Binding the Objects in a Dataset (cont.)
23
Programming with Microsoft Visual Basic 201223 Figure 13-18 DataGridView control’s task list DataGridView’s Task List The DataGridView Control (cont.)
24
Programming with Microsoft Visual Basic 201224 Figure 13-19 Edit Columns dialog box of DataGridView Control The DataGridView Control (cont.) Edit Columns Dialog Box of DataGridView Control
25
Programming with Microsoft Visual Basic 201225 Figure 13-20 Completed Format String Dialog box Figure 13-21 Completed CellStyle Builder dialog box CellStyle Builder Dialog Box of DataGridView Control 實作練習 第 778~780 頁
26
When a table or field object is dragged onto a form, the computer also enters code in the Code Editor window –Code in the form’s Load event uses the TableAdapter object to retrieve data –The BindingNavigator’s save event is also coded 26 Visual Basic Code Programming with Microsoft Visual Basic 2012 Figure 13-23 Code automatically entered in the Code Editor window
27
Programming with Microsoft Visual Basic 201227 Handling Errors in the Code Exception –An error that occurs while an application is running Try…Catch statement –Used to intercept exceptions and handle them Try block –Contains the statements that might fail Catch block –Contains the code to handle the exceptions
28
Handling Errors in the Code (cont.) Programming with Microsoft Visual Basic 201228 Handling Errors – Syntax & Examples Figure 13-24 Basic syntax and examples of the Try…Catch statement
29
Handling Errors in the Code (cont.) Programming with Microsoft Visual Basic 201229 Visual Basic Code (cont.) Figure 13-26 Dataset displayed in the DataGridView control Figure 13-27 Tooltip for the Move last button Figure 13-25 Completed Click event procedure for the Save Data button 實作練習 第 782~783 頁
30
Copy to Output Directory property –Determines the way VB saves changes to a local file –Copy always (default setting) The database file is copied to the project’s bin\Debug folder each time the application starts Result: The database file appears in two different folders Changes to the file in the bin\Debug folder are overwritten –Copy if newer Preserves run-time changes Copies over the file in bin\Debug only if it is not current Programming with Microsoft Visual Basic 201230 The Copy to Output Directory Property
31
Programming with Microsoft Visual Basic 201231 The Copy to Output Directory Property (cont.) Figure 13-28 Settings for the Copy to Output Directory property 實作練習 第 785 頁
32
You can bind an object in a dataset to an existing control on the form in two ways: 1.Drag the object from the Data Sources window to the control 2.Set one or more of the control’s properties in the Properties window Properties to set depend on the type of control being bound: –DataGridView: Set the DataSource property –ListBox: Set the DataSource and DisplayMember properties –Label or text box: Set the DataBindings /Text property Programming with Microsoft Visual Basic 201232 Binding to an Existing Control
33
Programming with Microsoft Visual Basic 201233 Binding to an Existing Control (cont.) Figure 13-29 A different version of the Morgan Industries application Figure 13-31 First record displayed in the interface Figure 13-30 Result of binding a field to an existing control 實作練習 第 787~788 頁 需下載 Morgan Industries Solution-Labels
34
Coding the Next Record and Previous Record Buttons BindingSource object’s Position property –Stores an invisible record pointer –Positions are integer values 0 –First record is at position 0 BindingSource object’s Move methods –Can be used to move the record pointer in a dataset to the first, last, next, or previous record in the dataset Programming with Microsoft Visual Basic 201234
35
Coding the Next Record and Previous Record Buttons (cont.) Programming with Microsoft Visual Basic 201235 Figure 13-32 Syntax and examples of the BindingSource object’s Position property Figure 13-33 Syntax and examples of the BindingSource object’s Move methods
36
Programming with Microsoft Visual Basic 201236 Figure 13-34 btnNext_Click and btnPrevious_Click procedures Coding the Next Record and Previous Record Buttons (cont.) 實作練習 第 788~790 頁
37
Lesson A Summary Use the Data Source Configuration Wizard to connect an application to a database Use the Preview Data command to preview the data in a dataset Bind an object in a dataset by dragging it to the form and letting the computer create a control, or by dragging it onto an existing control Use the Fill setting of the DataGridView’s AutoSizeColumnsMode property to have columns fill the display area Programming with Microsoft Visual Basic 201237
38
Lesson A Summary (cont.) Use the Dock property of DataGridView to anchor it to the borders of a form Use the Try…Catch statement to handle exceptions (errors) occurring during run time Use the BindingSource object’s Position property or its Move methods to move the record pointer while the application is running Programming with Microsoft Visual Basic 201238
39
Lesson B Objectives After studying Lesson B, you should be able to: Query a dataset using LINQ Customize a BindingNavigator control Use the LINQ aggregate operators Programming with Microsoft Visual Basic 201239
40
Programming with Microsoft Visual Basic 201240 Creating a Query Query –Specifies records to select from a dataset and the order in which to arrange them Language Integrated Query (LINQ) –Used to create queries in Visual Basic Where clause –Contains a condition, or conditions, to limit the records to be selected Order By clause –Used to arrange the records in ascending or descending order by one or more fields
41
Programming with Microsoft Visual Basic 201241 Creating a Query (cont.) Figure 13-35 Basic LINQ syntax and examples for selecting and arranging records in a dataset
42
Programming with Microsoft Visual Basic 201242 Figure 13-36 Syntax and an example of assigning a LINQ variable’s contents to a BindingSource object Creating a Query (cont.)
43
Programming with Microsoft Visual Basic 201243 Figure 13-37 Code entered in the General Declarations section and btnFind Click event procedure Creating a Query (cont.)
44
Programming with Microsoft Visual Basic 201244 Figure 13-38 Employees whose last name begins with the letter S Creating a Query (cont.) 實作練習 第 798~800 頁 需下載 Morgan Industries Solution-LINQ
45
You can add additional items to a BindingNavigator control to personalize it –Button, Textbox, Drop-down button Programming with Microsoft Visual Basic 201245 Customizing a BindingNavigator Control Figure 13-39 Instructions for customizing a BindingNavigator control
46
Programming with Microsoft Visual Basic 201246 Customizing a BindingNavigator Control (cont.) Figure 13-40 Items Collection Editor dialog box
47
Programming with Microsoft Visual Basic 201247 Figure 13-41 DropDownItems property in the Items Collection Editor dialog box Customizing a BindingNavigator Control (cont.)
48
Programming with Microsoft Visual Basic 201248 Figure 13-42 DropDownButton added to the TblEmployBindingNavigator control Customizing a BindingNavigator Control (cont.) 實作練習 第 800~802 頁 需下載 Morgan Industries Solution-Aggregate
49
Programming with Microsoft Visual Basic 201249 Using the LINQ Aggregate Operators Aggregate operator –Returns a single value from a group of values LINQ provides several aggregate operators: –Average –Count –Max –Min –Sum Figure 13-43 Syntax and examples of the LINQ aggregate operators
50
Programming with Microsoft Visual Basic 201250 Figure 13-44 Code entered in each menu item’s Click event procedure Figure 13-45 Message box showing the average pay rate for all employees Using the LINQ Aggregate Operators (cont.) 實作練習 第 803~806 頁 UI
51
Programming with Microsoft Visual Basic 201251 Lesson B Summary Use LINQ to select and arrange records in a dataset You can customize the BindingNavigator control by adding additional items to it LINQ provides aggregate operators that return a single value from a group of values
52
Lesson C Objectives After studying Lesson C, you should be able to: Prevent the user from adding and deleting records Remove buttons from a BindingNavigator control Add a label, a text box, and a button to a BindingNavigator control Programming with Microsoft Visual Basic 201252
53
Programming with Microsoft Visual Basic 201253 Completing the Paradise Bookstore Application Requirements for the Paradise Bookstore application: –Display records from the Books database –Allow the store manager to enter an author’s name (or part of a name) to display books by that author –The user should not be allowed to add or delete records Need to modify the BindingNavigatorControl to remove the add and delete buttons The database contains one table: tblBooks –It has five fields and 11 records
54
Completing the Paradise Bookstore Application (cont.) Programming with Microsoft Visual Basic 201254 Figure 13-46 tblBooks table in the Books database Figure 13-48 Completed TblBooksBindingNavigator control Figure 13-47 Completed Items Collection Editor dialog box 實作練習 第 800~802 頁 需下載 Books.accdb 需下載 Paradise Bookstore Customizing BindingNavigator Program SPEC
55
Coding the Paradise Bookstore Application Programming with Microsoft Visual Basic 201255 Go button’s Click event procedure –Displays only records whose Author field starts with the characters entered in the text box If the text box is empty, it displays all records –Use the LINQ LIKE operator Total Value button’s Click event procedure –Displays the total value of all books in the store –Use the LINQ aggregate function SUM
56
Coding the Paradise Bookstore Application (cont.) Programming with Microsoft Visual Basic 201256 Figure 13-50 Message box showing the total value of the inventory Figure 13-49 Books written by authors whose names begin with s
57
Programming with Microsoft Visual Basic 201257 Figure 13-51 btnGo_Click and btnTotal_Click procedures Coding the Paradise Bookstore Application (cont.) 實作練習 第 813~815 頁
58
Programming with Microsoft Visual Basic 201258 Lesson C Summary Use the DataGridView control’s task box to prevent the user from adding or deleting records in the control To delete items from a BindingNavigator control: –Click the BindingNavigator control’s task box and then click Edit Items –In the Members list, click the item you want to remove To add controls to a BindingNavigator control: –Click the BindingNavigator control’s task box and then click Edit Items –Use the “Select item and add to list below” box and the Add button to add the appropriate control
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.