| About the Author |
|
xiv | |
| Preface |
|
xv | |
| Acknowledgments |
|
xvii | |
| About the Companion Website |
|
xviii | |
|
|
|
1 | (9) |
|
1.1 Outstanding Features About This Book |
|
|
2 | (1) |
|
|
|
2 | (1) |
|
1.3 What This Book Covered |
|
|
2 | (2) |
|
1.4 How This Book Is Organized and How to Use This Book |
|
|
4 | (2) |
|
1.5 How to Use Appendices and Related Materials |
|
|
6 | (2) |
|
1.6 How to Use Source Codes and Sample Database |
|
|
8 | (1) |
|
1.7 Instructors and Customer Supports |
|
|
9 | (1) |
|
2 Introduction to Databases |
|
|
10 | (67) |
|
2.1 What Are Databases and Database Programs? |
|
|
11 | (1) |
|
2.1.1 File Processing System |
|
|
11 | (1) |
|
2.1.2 Integrated Databases |
|
|
11 | (1) |
|
|
|
12 | (1) |
|
|
|
13 | (5) |
|
2.3.1 Relational Data Model |
|
|
13 | (4) |
|
2.3.2 Entity-Relationship (ER) Model |
|
|
17 | (1) |
|
|
|
18 | (1) |
|
2.4.1 Primary Key and Entity Integrity |
|
|
18 | (1) |
|
|
|
19 | (1) |
|
2.4.3 Foreign Keys and Referential Integrity |
|
|
19 | (1) |
|
|
|
19 | (3) |
|
|
|
19 | (3) |
|
|
|
22 | (1) |
|
|
|
22 | (3) |
|
2.7.1 First Normal Form (INF) |
|
|
23 | (1) |
|
2.7.2 Second Normal Form (2NF) |
|
|
23 | (1) |
|
2.1.7 Third Normal Form (3NF) |
|
|
24 | (1) |
|
2.8 Database Components in Some Popular Databases |
|
|
25 | (8) |
|
2.8.1 Microsoft Access Databases |
|
|
27 | (1) |
|
2.8.2 SQL Server Databases |
|
|
28 | (2) |
|
|
|
30 | (3) |
|
2.9 Create Oracle 18c XE Sample Database |
|
|
33 | (40) |
|
2.9.1 Delete the Default Database XE |
|
|
34 | (1) |
|
2.9.2 Create a New Oracle 18c XE Sample Database |
|
|
34 | (7) |
|
2.9.3 Connect to Our Sample Database from the Oracle SQL Developer |
|
|
41 | (1) |
|
2.9.4 Create an Oracle User Account for the User Schema |
|
|
42 | (3) |
|
|
|
45 | (2) |
|
2.9.6 Create Faculty Table |
|
|
47 | (1) |
|
2.9.7 Create Other Tables |
|
|
48 | (5) |
|
2.9.8 Create Relationships Among Tables |
|
|
53 | (7) |
|
2.9.9 Store Images to the Oracle 18c Express Edition Database |
|
|
60 | (13) |
|
|
|
73 | (4) |
|
3 Introduction to ADO.NET |
|
|
77 | (46) |
|
|
|
77 | (2) |
|
3.2 Overview of the ADO.NET |
|
|
79 | (1) |
|
3.3 The Architecture of the ADO.NET |
|
|
80 | (1) |
|
3.4 The Components of ADO.NET |
|
|
81 | (37) |
|
|
|
81 | (3) |
|
3.4.2 The Connection Class |
|
|
84 | (3) |
|
3.4.3 The Command and the Parameter Classes |
|
|
87 | (8) |
|
3.4.4 The DataAdapter Class |
|
|
95 | (3) |
|
3.4.5 The DataReader Class |
|
|
98 | (3) |
|
3.4.6 The DataSet Component |
|
|
101 | (4) |
|
3.4.7 The DataTable Component |
|
|
105 | (6) |
|
3.4.8 ADO.NET Entity Framework |
|
|
111 | (7) |
|
|
|
118 | (5) |
|
4 Introduction to Language-Integrated Query (LINQ) |
|
|
123 | (73) |
|
4.1 Overview of Language-Integrated Query |
|
|
123 | (11) |
|
4.1.1 Some Special Interfaces Used in LINQ |
|
|
124 | (2) |
|
4.1.2 Standard Query Operators |
|
|
126 | (1) |
|
4.1.3 Deferred Standard Query Operators |
|
|
127 | (4) |
|
4.1.4 Non-Deferred Standard Query Operators |
|
|
131 | (3) |
|
|
|
134 | (2) |
|
4.3 The Architecture and Components of LINQ |
|
|
136 | (4) |
|
4.3.1 Overview of LINQ to Objects |
|
|
137 | (1) |
|
4.3.2 Overview of LINQ to DataSet |
|
|
138 | (1) |
|
4.3.3 Overview of LINQ to SQL |
|
|
138 | (1) |
|
4.3.4 Overview of LINQ to Entities |
|
|
139 | (1) |
|
4.3.5 Overview of LINQ to XML |
|
|
140 | (1) |
|
|
|
140 | (9) |
|
|
|
140 | (2) |
|
|
|
142 | (3) |
|
4.4.3 LINQ and File Directories |
|
|
145 | (3) |
|
4.4.4 LINQ and Reflection |
|
|
148 | (1) |
|
|
|
149 | (17) |
|
4.5.1 Operations to DataSet Objects |
|
|
150 | (12) |
|
4.5.2 Operations to DataRow Objects Using the Extension Methods |
|
|
162 | (4) |
|
4.5.3 Operations to DataTable Objects |
|
|
166 | (1) |
|
|
|
166 | (4) |
|
4.6.1 The Object Services Component |
|
|
167 | (1) |
|
4.6.2 The ObjectContext Component |
|
|
167 | (1) |
|
4.6.3 The ObjectQuery Component |
|
|
167 | (1) |
|
4.6.4 LINQ to Entities Flow of Execution |
|
|
168 | (2) |
|
4.6.5 Implementation of LINQ to Entities |
|
|
170 | (1) |
|
|
|
170 | (11) |
|
4.7.1 LINQ to XML Class Hierarchy |
|
|
171 | (1) |
|
4.7.2 Manipulate XML Elements |
|
|
172 | (3) |
|
4.7.3 Manipulate XML Attributes |
|
|
175 | (2) |
|
4.7.4 Query XML with LINQ to XML |
|
|
177 | (4) |
|
4.8 Visual Basic.NET Language Enhancement for LINQ |
|
|
181 | (8) |
|
|
|
181 | (2) |
|
|
|
183 | (3) |
|
4.8.3 Implicitly Typed Local Variables |
|
|
186 | (2) |
|
|
|
188 | (1) |
|
|
|
189 | (1) |
|
|
|
190 | (6) |
|
5 Query Data from Oracle Database with Visual Basic.NET |
|
|
196 | (104) |
|
Part I Data Query with Visual Studio.NET Design Tools and Wizards |
|
|
197 | (1) |
|
5.1 A Completed Sample Database Application Example |
|
|
197 | (3) |
|
5.2 Visual Studio.NET Design Tools and Wizards |
|
|
200 | (12) |
|
5.2.1 Data Components in the Toolbox Window |
|
|
200 | (4) |
|
|
|
204 | (8) |
|
5.3 Query Data from Oracle Database Using Design Tools and Wizards |
|
|
212 | (5) |
|
5.3.1 Application User Interface |
|
|
212 | (5) |
|
5.4 Use Visual Studio Wizards and Design Tools to Query and Display Data |
|
|
217 | (33) |
|
5.4.1 Query and Display Data Using the DataGridView and Detail Controls |
|
|
218 | (5) |
|
5.4.2 Use DataSet Designer to Edit the Structure of the DataSet |
|
|
223 | (2) |
|
5.4.3 Bind Data to the Associated Controls in Login Form |
|
|
225 | (4) |
|
5.4.4 Develop Codes to Query Data Using the Fill() Method |
|
|
229 | (2) |
|
5.4.5 Use Return a Single Value to Query Data for Login Form |
|
|
231 | (3) |
|
5.4.6 Develop the Codes for the Selection Form |
|
|
234 | (2) |
|
5.4.7 Query Data from the Faculty Table for the Faculty Form |
|
|
236 | (1) |
|
5.4.8 Develop Codes to Query Data from the Faculty Table |
|
|
237 | (5) |
|
5.4.9 Query Data from the Course Table for the Course Form |
|
|
242 | (8) |
|
Part II Data Query with Runtime Objects |
|
|
250 | (1) |
|
5.5 Introduction to Runtime Objects |
|
|
250 | (3) |
|
5.5.1 Procedure of Building a Data-Driven Application Using Runtime Object |
|
|
252 | (1) |
|
5.6 Query Data From Oracle Server Database Using Runtime Object |
|
|
253 | (40) |
|
5.6.1 Access to Oracle Server Database |
|
|
253 | (2) |
|
5.6.2 Declare Global Variables and Runtime Objects for the Oracle Provider |
|
|
255 | (1) |
|
5.6.3 Query Data Using Runtime Objects for the Login Form |
|
|
256 | (5) |
|
5.6.4 The Coding for the Selection Form |
|
|
261 | (1) |
|
5.6.5 Query Data Using Runtime Objects for the Faculty Form |
|
|
261 | (7) |
|
5.6.6 Query Data Using Runtime Objects for the Course Form |
|
|
268 | (9) |
|
5.6.7 Query Data Using Runtime Objects for the Student Form |
|
|
277 | (16) |
|
|
|
293 | (7) |
|
6 Insert Data into Oracle Database with Visual Basic.NET |
|
|
300 | (55) |
|
Part I Insert Data with Visual Basic.NET Design Tools and Wizards |
|
|
301 | (1) |
|
6.1 Insert Data into a Database |
|
|
301 | (2) |
|
6.1.1 Insert New Records into a Database Using the TableAdapter.Insert Method |
|
|
302 | (1) |
|
6.1.2 Insert New Records into a Database Using the TableAdapter.Update Method |
|
|
303 | (1) |
|
6.2 Insert Data into Oracle Database Using a Sample Project InsertWizard |
|
|
303 | (22) |
|
6.2.1 Create a New InsertWizard Project |
|
|
303 | (1) |
|
6.2.2 Application User Interfaces |
|
|
304 | (1) |
|
6.2.3 Validate Data Before the Data Insertion |
|
|
305 | (3) |
|
6.2.4 Initialization Coding Process for the Data Insertion |
|
|
308 | (1) |
|
6.2.5 Build the Insert Query |
|
|
309 | (1) |
|
6.2.6 Develop Codes to Insert Data Using the TableAdapter.Insert Method |
|
|
310 | (4) |
|
6.2.7 Develop Codes to Insert Data Using the TableAdapter.Update Method |
|
|
314 | (3) |
|
6.2.8 Insert Data into the Database Using the Stored Procedures |
|
|
317 | (8) |
|
Part II Data Insertion with Runtime Objects |
|
|
325 | (1) |
|
6.3 The General Run-Time Objects Method |
|
|
326 | (1) |
|
6.4 Insert Data into the Oracle Database Using the Run-Time Object Method |
|
|
327 | (8) |
|
6.4.1 Insert Data into the Faculty Table for the Oracle Database |
|
|
327 | (8) |
|
6.5 Insert Data into the Database Using Stored Procedures |
|
|
335 | (10) |
|
6.5.1 Insert Data into the Oracle Database Using Stored Procedures |
|
|
336 | (9) |
|
6.6 Insert Data into the Database Using the LINQ To DataSet Method |
|
|
345 | (3) |
|
6.6.1 Insert Data into the Oracle Database Using the LINQ to DataSet Queries |
|
|
346 | (2) |
|
|
|
348 | (7) |
|
7 Data Updating and Deleting with Visual Basic.NET |
|
|
355 | (46) |
|
Part I Data Updating and Deleting with Visual Studio.NET Design Tools and Wizards |
|
|
356 | (1) |
|
7.1 Update or Delete Data Against Oracle Databases |
|
|
356 | (3) |
|
7.1.1 Updating and Deleting Data from Related Tables in a DataSet |
|
|
357 | (1) |
|
7.1.2 Using TableAdapter.Update and TableAdapter.Delete Methods |
|
|
357 | (1) |
|
7.1.3 Update or Delete Data Against Database Using TableAdapter.Update Method |
|
|
358 | (1) |
|
7.2 Update and Delete Data For Oracle 18c XE Database |
|
|
359 | (13) |
|
7.2.1 Create a New UpdataDeleteWizard Project |
|
|
359 | (1) |
|
7.2.2 Application User Interfaces |
|
|
360 | (1) |
|
7.2.3 Validate Data Before the Data Updating and Deleting |
|
|
361 | (1) |
|
7.2.4 Build the Update and Delete Queries |
|
|
361 | (2) |
|
7.2.5 Develop Codes to Update Data Using the TableAdapter DBDirect Method |
|
|
363 | (2) |
|
7.2.6 Develop Codes to Update Data Using the TableAdapter.Update Method |
|
|
365 | (2) |
|
7.2.7 Develop Codes to Delete Data Using the TableAdapter DBDirect Method |
|
|
367 | (1) |
|
7.2.8 Develop Codes to Delete Data Using the TableAdapter.Update Method |
|
|
368 | (1) |
|
7.2.9 Validate the Data After the Data Updating and Deleting |
|
|
369 | (3) |
|
Part II Data Updating and Deleting with Runtime Objects |
|
|
372 | (1) |
|
7.3 The Run Time Objects Method |
|
|
373 | (1) |
|
7.4 Update and Delete Data for Oracle Database Using the Run Time Objects |
|
|
374 | (7) |
|
7.4.1 Update Data Against the Faculty Table in the Oracle Database |
|
|
375 | (2) |
|
7.4.2 Delete Data From the Faculty Table in the Oracle Database |
|
|
377 | (4) |
|
7.5 Update and Delete Data against Oracle Database Using Stored Procedures |
|
|
381 | (14) |
|
7.5.1 Modify the Existing Project to Create Our New Project |
|
|
382 | (1) |
|
7.5.2 Create the Codes to Update and Delete Data from the Course Table |
|
|
382 | (10) |
|
7.5.3 Update and Delete Data Using the LINQ to DataSet Query |
|
|
392 | (3) |
|
|
|
395 | (6) |
|
8 Accessing Data in ASP.NET |
|
|
401 | (75) |
|
8.1 What Is NET Framework? |
|
|
402 | (1) |
|
|
|
403 | (4) |
|
8.2.1 ASP.NET Web Application File Structure |
|
|
404 | (1) |
|
8.2.2 ASP.NET Execution Model |
|
|
405 | (1) |
|
8.2.3 What Is Really Happened When a Web Application Is Executed? |
|
|
406 | (1) |
|
8.2.4 The Requirements to Test and Run the Web Project |
|
|
406 | (1) |
|
8.3 Develop ASP.NET Web Application to Select Data from Oracle Databases |
|
|
407 | (27) |
|
8.3.1 Create the User Interface - Login Form |
|
|
408 | (1) |
|
8.3.2 Develop the Codes to Access and Select Data from the Database |
|
|
409 | (4) |
|
8.3.3 Validate the Data in the Client Side |
|
|
413 | (2) |
|
8.3.4 Create the Second User Interface - Selection Page |
|
|
415 | (1) |
|
8.3.5 Develop the Codes to Open the Other Page |
|
|
415 | (2) |
|
8.3.6 Modify Codes in the Login Page to Transfer to the Selection Page |
|
|
417 | (1) |
|
8.3.7 Create the Third User Interface - Faculty Page |
|
|
418 | (1) |
|
8.3.8 Develop the Codes to Select the Desired Faculty Information |
|
|
419 | (5) |
|
8.3.9 Create the Fourth User Interface - Course Page |
|
|
424 | (3) |
|
8.3.10 Develop the Codes to Select the Desired Course Information |
|
|
427 | (7) |
|
8.4 Develop ASP.NET Web Application to Insert Data into Oracle Databases |
|
|
434 | (9) |
|
8.4.1 Develop the Codes to Perform the Data Insertion Function |
|
|
435 | (1) |
|
8.4.2 Develop the Codes for the Insert Button Click Event Procedure |
|
|
436 | (5) |
|
8.4.3 Validate the Data Insertion |
|
|
441 | (2) |
|
8.5 Develop Web Applications to Update and Delete Data in Oracle Databases |
|
|
443 | (14) |
|
8.5.1 Develop the Codes for the Update Button Click Event Procedure |
|
|
443 | (3) |
|
8.5.2 Develop the Codes for the Delete Button Click Event Procedure |
|
|
446 | (11) |
|
8.6 Develop ASP.NET Web Applications with LINQ to Oracle Query |
|
|
457 | (14) |
|
8.6.1 Generate a New Web Project LINQWebOracle and a New LinqConnect Model |
|
|
457 | (5) |
|
8.6.2 Develop the Codes for Our Web Project LINQWebOracle |
|
|
462 | (9) |
|
|
|
471 | (5) |
|
|
|
476 | (137) |
|
9.1 What Are Web Services and Their Components? |
|
|
477 | (1) |
|
9.2 Procedures to Build a Web Service |
|
|
478 | (7) |
|
9.2.1 The Structure of a Typical Web Service Project |
|
|
478 | (1) |
|
9.2.2 Some Real Considerations When Building a Web Service Project |
|
|
479 | (1) |
|
9.2.3 Introduction to Windows Communication Foundation (WCF) |
|
|
480 | (4) |
|
9.2.4 Procedures to Build an ASP.NET Web Service |
|
|
484 | (1) |
|
9.2.5 Install WCF Component with Visual Studio Installer |
|
|
484 | (1) |
|
9.3 Build ASP.NET Web Service Project to Access Oracle Database |
|
|
485 | (44) |
|
9.3.1 Files and Items Created in the New Web Service Project |
|
|
486 | (3) |
|
9.3.2 A Feeling of the Hello World Web Service Project as it Runs |
|
|
489 | (3) |
|
9.3.3 Modify the Default Namespace |
|
|
492 | (1) |
|
9.3.4 Create a Base Class to Handle Error Checking for Our Web Service |
|
|
493 | (1) |
|
9.3.5 Create a Customer Returned Class to Hold all Retrieved Data |
|
|
493 | (2) |
|
9.3.6 Visual Basic System Class and Web Service Class |
|
|
495 | (1) |
|
9.3.7 Add and Build Web Method GetOracleSelect() to the Web Services |
|
|
495 | (8) |
|
9.3.8 Develop the Stored Procedure to Perform the Data Query |
|
|
503 | (4) |
|
9.3.9 Use DataSet as the Returning Object for the Web Method |
|
|
507 | (3) |
|
9.3.10 Build Windows-based Web Service Clients to Consume the Web Services |
|
|
510 | (9) |
|
9.3.11 Build Web-based Web Service Clients to Consume the Web Service |
|
|
519 | (7) |
|
9.3.12 Deploy the Completed Web Service to Production Servers |
|
|
526 | (3) |
|
9.4 Build ASP.NET Web Service Project to Insert Data Into Oracle Databases |
|
|
529 | (46) |
|
9.4.1 Create a New Web Service Project WebServiceOraclelnsert |
|
|
529 | (1) |
|
9.4.2 Develop Four Web Service Methods |
|
|
530 | (19) |
|
9.4.3 Build Windows-based Web Service Clients to Consume the Web Services |
|
|
549 | (15) |
|
9.4.4 Build Web-based Web Service Clients to Consume the Web Services |
|
|
564 | (11) |
|
9.5 Build ASP.NET Web Service to Update and Delete Data for Oracle Database |
|
|
575 | (15) |
|
9.5.1 Modify the Default Namespace and Add Database Connection String |
|
|
576 | (1) |
|
9.5.2 Create Our Customer-Built Base and Returned Classes |
|
|
577 | (1) |
|
9.5.3 Create a Web Method to Call Stored Procedure to Update Student Records |
|
|
578 | (2) |
|
9.5.4 Create a Web Method to Call Stored Procedure to Delete Student Records |
|
|
580 | (2) |
|
9.5.5 Create a Web Method to Collect the Current Student Members |
|
|
582 | (2) |
|
9.5.6 Develop Two Oracle Stored Procedures with Oracle SQL Developer |
|
|
584 | (6) |
|
9.6 Build Windows-Based Web Service Clients to Consume the Web Services |
|
|
590 | (6) |
|
9.6.1 Add a Web Service Reference to Our Client Project |
|
|
590 | (1) |
|
9.6.2 Modify the Codes in the Form Load Event Procedure |
|
|
591 | (1) |
|
9.6.3 Build the Codes to the Update Button's Click Event Procedure |
|
|
592 | (1) |
|
9.6.4 Build the Codes to the Delete Button's Click Event Procedure |
|
|
593 | (3) |
|
9.7 Build Web-Based Web Service Clients to Consume the Web Services |
|
|
596 | (10) |
|
9.7.1 Create a New ASP.NET Web Project and Add an Existing Web Page |
|
|
597 | (1) |
|
9.7.2 Add a Web Service Reference and Modify the Web Form Window |
|
|
597 | (1) |
|
9.7.3 Develop the Codes for the Page Load() Event Procedure |
|
|
598 | (1) |
|
9.7.4 Build the Codes Inside the Back Button's Click Event Procedure |
|
|
599 | (1) |
|
9.7.5 Add the Codes to the Update Button's Click Event Procedure |
|
|
599 | (2) |
|
9.7.6 Develop Codes for the Delete Button's Click Event Procedure |
|
|
601 | (1) |
|
9.7.7 Develop Codes for the Select Button's Click Event Procedure |
|
|
602 | (4) |
|
|
|
606 | (7) |
| Appendix A Download and Install Oracle Database XE 18c |
|
613 | (6) |
| Appendix B Download and Install Oracle SQL Developer |
|
619 | (3) |
| Appendix C Download and Install DevExpress WinForms |
|
622 | (3) |
| Appendix D How to Use the Sample Database |
|
625 | (3) |
| Appendix E How to Export the Sample Database |
|
628 | (4) |
| Appendix F Download and Install dotConnect Express |
|
632 | (5) |
| Appendix G How to Use User-Defined Windows/Web Forms |
|
637 | (6) |
| Appendix H Download and Install FrontPage Server Extension for Windows 10 |
|
643 | (3) |
| Appendix I Download and Install LinqConnect Express |
|
646 | (3) |
| Index |
|
649 | |