Visit to download the full and correct content document: https://ebookmass.com/product/oracle-database-programming-with-visual-basic-net-c oncepts-designs-and-implementations-ying-bai/

More products digital (pdf, epub, mobi) instant download maybe you interests ...

Clearly Visual Basic: Programming with Microsoft Visual Basic 2010, Second Edition Diane Zak
https://ebookmass.com/product/clearly-visual-basic-programmingwith-microsoft-visual-basic-2010-second-edition-diane-zak/

Programming with Microsoft Visual Basic 2017 8th Edition Diane Zak
https://ebookmass.com/product/programming-with-microsoft-visualbasic-2017-8th-edition-diane-zak/

Blockchain Essentials: Core Concepts and Implementations 1st Edition Ramchandra Sharad Mangrulkar
https://ebookmass.com/product/blockchain-essentials-coreconcepts-and-implementations-1st-edition-ramchandra-sharadmangrulkar/

Oracle Autonomous Database For Dummies®, 3rd Special Edition Lawrence Miller
https://ebookmass.com/product/oracle-autonomous-database-fordummies-3rd-special-edition-lawrence-miller/

Simple and Efficient Programming with C#: Skills to Build Applications with Visual Studio and .NET 2nd Edition Vaskaran Sarcar
https://ebookmass.com/product/simple-and-efficient-programmingwith-c-skills-to-build-applications-with-visual-studio-andnet-2nd-edition-vaskaran-sarcar/

Simple and Efficient Programming with C# : Skills to Build Applications with Visual Studio and .NET 2nd Edition Vaskaran Sarcar
https://ebookmass.com/product/simple-and-efficient-programmingwith-c-skills-to-build-applications-with-visual-studio-andnet-2nd-edition-vaskaran-sarcar-2/

Database System Concepts 6th Edition, (Ebook PDF)
https://ebookmass.com/product/database-system-concepts-6thedition-ebook-pdf/

Database System Concepts 7th Edition Avi Silberschatz
https://ebookmass.com/product/database-system-concepts-7thedition-avi-silberschatz/

Database System Concepts 7th Edition Abraham Silberschatz
https://ebookmass.com/product/database-system-concepts-7thedition-abraham-silberschatz/

IEEE Press
445 Hoes Lane
Piscataway, NJ 08854
IEEE Press Editorial Board
Ekram Hossain, Editor in Chief
Jón Atli Benediktsson Xiaoou Li
Anjan Bose
David Alan Grier
Elya B. Joffe
Jeffrey Reed
Lian Yong Diomidis Spinellis
Andreas Molisch
Saeid Nahavandi
Sarah Spurgeon
Ahmet Murat Tekalp
Concepts, Designs, and Implementations
Ying Bai
Department of Computer Science and Engineering
Johnson C. Smith University Charlotte, North Carolina
Copyright © 2021 by The Institute of Electrical and Electronics Engineers, Inc. All rights reserved.
Published by John Wiley & Sons, Inc., Hoboken, New Jersey. Published simultaneously in Canada.
No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning, or otherwise, except as permitted under Section 107 or 108 of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or authorization through payment of the appropriate per-copy fee to the Copyright Clearance Center, Inc., 222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400, fax (978) 750-4470, or on the web at www.copyright.com. Requests to the Publisher for permission should be addressed to the Permissions Department, John Wiley & Sons, Inc., 111 River Street, Hoboken, NJ 07030, (201) 748-6011, fax (201) 748-6008, or online at http://www.wiley.com/go/permission.
Limit of Liability/Disclaimer of Warranty: While the publisher and author have used their best efforts in preparing this book, they make no representations or warranties with respect to the accuracy or completeness of the contents of this book and specifically disclaim any implied warranties of merchantability or fitness for a particular purpose. No warranty may be created or extended by sales representatives or written sales materials. The advice and strategies contained herein may not be suitable for your situation. You should consult with a professional where appropriate. Neither the publisher nor author shall be liable for any loss of profit or any other commercial damages, including but not limited to special, incidental, consequential, or other damages.
For general information on our other products and services or for technical support, please contact our Customer Care Department within the United States at (800) 762-2974, outside the United States at (317) 572-3993 or fax (317) 572-4002.
Wiley also publishes its books in a variety of electronic formats. Some content that appears in print may not be available in electronic formats. For more information about Wiley products, visit our web site at www.wiley.com.
Library of Congress Cataloging-in-Publication Data applied for:
ISBN: 9781119734390
Cover design by Wiley
Cover image: © metamorworks/iStock/Getty Images
Set in 9.5/12.5pt STIXTwoText by SPi Global, Pondicherry, India
This book is dedicated to my wife, Yan Wang, and my daughter, Susan (Xue) Bai.
Contents
About the Author xiv
Preface xv Acknowledgments xvii
About the Companion Website xviii
1 Introduction 1
1.1 Outstanding Features About This Book 2
1.2 Who This Book Is For 2
1.3 What This Book Covered 2
1.4 How This Book Is Organized and How to Use This Book 4
1.5 How to Use Appendices and Related Materials 6
1.6 How to Use Source Codes and Sample Database 8
1.7 Instructors and Customer Supports 9
2 Introduction to Databases 10
2.1 What Are Databases and Database Programs? 11
2.1.1 File Processing System 11
2.1.2 Integrated Databases 11
2.2 Develop a Database 12
2.3 Sample Database 13
2.3.1 Relational Data Model 13
2.3.2 Entity-Relationship (ER) Model 17
2.4 Identifying Keys 18
2.4.1 Primary Key and Entity Integrity 18
2.4.2 Candidate Key 19
2.4.3 Foreign Keys and Referential Integrity 19
2.5 Define Relationships 19
2.5.1 Connectivity 19
2.6 ER Notation 22
2.7 Data Normalization 22
2.7.1 First Normal Form (1NF) 23
2.7.2 Second Normal Form (2NF) 23
2.7.3 Third Normal Form (3NF) 24
2.8 Database Components in Some Popular Databases 25
2.8.1 Microsoft Access Databases 27
2.8.2 SQL Server Databases 28
2.8.3 Oracle Databases 30
2.9 Create Oracle 18c XE Sample Database 33
2.9.1 Delete the Default Database XE 34
2.9.2 Create a New Oracle 18c XE Sample Database 34
2.9.3 Connect to Our Sample Database from the Oracle SQL Developer 41
2.9.4 Create an Oracle User Account for the User Schema 42
2.9.5 Create LogIn Table 45
2.9.6 Create Faculty Table 47
2.9.7 Create Other Tables 48
2.9.8 Create Relationships Among Tables 53
2.9.9 Store Images to the Oracle 18c Express Edition Database 60 2.10 Chapter Summary 73
3 Introduction to ADO.NET 77
3.1 The ADO and ADO.NET 77
3.2 Overview of the ADO.NET 79
3.3 The Architecture of the ADO.NET 80
3.4 The Components of ADO.NET 81
3.4.1 The Data Provider 81
3.4.2 The Connection Class 84
3.4.3 The Command and the Parameter Classes 87
3.4.4 The DataAdapter Class 95
3.4.5 The DataReader Class 98
3.4.6 The DataSet Component 101
3.4.7 The DataTable Component 105
3.4.8 ADO.NET Entity Framework 111
3.5 Chapter Summary 118
4 Introduction to Language-Integrated Query (LINQ) 123
4.1 Overview of Language-Integrated Query 123
4.1.1 Some Special Interfaces Used in LINQ 124
4.1.2 Standard Query Operators 126
4.1.3 Deferred Standard Query Operators 127
4.1.4 Non-Deferred Standard Query Operators 131
4.2 Introduction to LINQ 134
4.3 The Architecture and Components of LINQ 136
4.3.1 Overview of LINQ to Objects 137
4.3.2 Overview of LINQ to DataSet 138
4.3.3 Overview of LINQ to SQL 138
4.3.4 Overview of LINQ to Entities 139
4.3.5 Overview of LINQ to XML 140
4.4 LINQ to Objects 140
4.4.1 LINQ and ArrayList 140
4.4.2 LINQ and Strings 142
4.4.3 LINQ and File Directories 145
4.4.4 LINQ and Reflection 148
4.5 LINQ to DataSet 149
4.5.1 Operations to DataSet Objects 150
4.5.2 Operations to DataRow Objects Using the Extension Methods 162
4.5.3 Operations to DataTable Objects 166
4.6 LINQ to Entities 166
4.6.1 The Object Services Component 167
4.6.2 The ObjectContext Component 167
4.6.3 The ObjectQuery Component 167
4.6.4 LINQ to Entities Flow of Execution 168
4.6.5 Implementation of LINQ to Entities 170
4.7 LINQ to XML 170
4.7.1 LINQ to XML Class Hierarchy 171
4.7.2 Manipulate XML Elements 172
4.7.3 Manipulate XML Attributes 175
4.7.4 Query XML with LINQ to XML 177
4.8 Visual Basic.NET Language Enhancement for LINQ 181
4.8.1 Lambda Expressions 181
4.8.2 Extension Methods 183
4.8.3 Implicitly Typed Local Variables 186
4.8.4 Query Expressions 188
4.9 LINQ To Oracle 189
4.10 Chapter Summary 190
5 Query Data from Oracle Database with Visual Basic.NET 196
Part I: Data Query with Visual Studio.NET Design Tools and Wizards 197
5.1 A Completed Sample Database Application Example 197
5.2 Visual Studio.NET Design Tools and Wizards 200
5.2.1 Data Components in the Toolbox Window 200
5.2.2 Data Source Window 204
5.3 Query Data from Oracle Database Using Design Tools and Wizards 212
5.3.1 Application User Interface 212
5.4 Use Visual Studio Wizards and Design Tools to Query and Display Data 217
5.4.1 Query and Display Data Using the DataGridView and Detail Controls 218
5.4.2 Use DataSet Designer to Edit the Structure of the DataSet 223
5.4.3 Bind Data to the Associated Controls in LogIn Form 225
5.4.4 Develop Codes to Query Data Using the Fill() Method 229
5.4.5 Use Return a Single Value to Query Data for LogIn Form 231
5.4.6 Develop the Codes for the Selection Form 234
5.4.7 Query Data from the Faculty Table for the Faculty Form 236
5.4.8 Develop Codes to Query Data from the Faculty Table 237
5.4.9 Query Data from the Course Table for the Course Form 242
Part II: Data Query with Runtime Objects 250
5.5 Introduction to Runtime Objects 250
5.5.1 Procedure of Building a Data-Driven Application Using Runtime Object 252
5.6 Query Data From Oracle Server Database Using Runtime Object 253
5.6.1 Access to Oracle Server Database 253
5.6.2 Declare Global Variables and Runtime Objects for the Oracle Provider 255
5.6.3 Query Data Using Runtime Objects for the LogIn Form 256
5.6.4 The Coding for the Selection Form 261
5.6.5 Query Data Using Runtime Objects for the Faculty Form 261
5.6.6 Query Data Using Runtime Objects for the Course Form 268
5.6.7 Query Data Using Runtime Objects for the Student Form 277
5.7 Chapter Summary 293
6 Insert Data into Oracle Database with Visual Basic.NET 300 Part I: Insert Data with Visual Basic.NET Design Tools and Wizards 301
6.1 Insert Data into a Database 301
6.1.1 Insert New Records into a Database Using the TableAdapter.Insert Method 302
6.1.2 Insert New Records into a Database Using the TableAdapter.Update Method 303
6.2 Insert Data into Oracle Database Using a Sample Project InsertWizard 303
6.2.1 Create a New InsertWizard Project 303
6.2.2 Application User Interfaces 304
6.2.3 Validate Data Before the Data Insertion 305
6.2.4 Initialization Coding Process for the Data Insertion 308
6.2.5 Build the Insert Query 309
6.2.6 Develop Codes to Insert Data Using the TableAdapter.Insert Method 310
6.2.7 Develop Codes to Insert Data Using the TableAdapter.Update Method 314
6.2.8 Insert Data into the Database Using the Stored Procedures 317
Part II: Data Insertion with Runtime Objects 325
6.3 The General Run-Time Objects Method 326
6.4 Insert Data into the Oracle Database Using the Run-Time Object Method 327
6.4.1 Insert Data into the Faculty Table for the Oracle Database 327
6.5 Insert Data into the Database Using Stored Procedures 335
6.5.1 Insert Data into the Oracle Database Using Stored Procedures 336
6.6 Insert Data into the Database Using the LINQ To DataSet Method 345
6.6.1 Insert Data into the Oracle Database Using the LINQ to DataSet Queries 346
6.7 Chapter Summary 348
7 Data Updating and Deleting with Visual Basic.NET 355
Part I: Data Updating and Deleting with Visual Studio.NET Design Tools and Wizards 356
7.1 Update or Delete Data Against Oracle Databases 356
7.1.1 Updating and Deleting Data from Related Tables in a DataSet 357
7.1.2 Using TableAdapter.Update and TableAdapter.Delete Methods 357
7.1.3 Update or Delete Data Against Database Using TableAdapter.Update Method 358
7.2 Update and Delete Data For Oracle 18c XE Database 359
7.2.1 Create a New UpdataDeleteWizard Project 359
7.2.2 Application User Interfaces 360
7.2.3 Validate Data Before the Data Updating and Deleting 361
7.2.4 Build the Update and Delete Queries 361
7.2.5 Develop Codes to Update Data Using the TableAdapter DBDirect Method 363
7.2.6 Develop Codes to Update Data Using the TableAdapter.Update Method 365
7.2.7 Develop Codes to Delete Data Using the TableAdapter DBDirect Method 367
7.2.8 Develop Codes to Delete Data Using the TableAdapter.Update Method 368
7.2.9 Validate the Data After the Data Updating and Deleting 369 Part II: Data Updating and Deleting with Runtime Objects 372
7.3 The Run Time Objects Method 373
7.4 Update and Delete Data for Oracle Database Using the Run Time Objects 374
7.4.1 Update Data Against the Faculty Table in the Oracle Database 375
7.4.2 Delete Data From the Faculty Table in the Oracle Database 377
7.5 Update and Delete Data against Oracle Database Using Stored Procedures 381
7.5.1 Modify the Existing Project to Create Our New Project 382
7.5.2 Create the Codes to Update and Delete Data from the Course Table 382
7.5.3 Update and Delete Data Using the LINQ to DataSet Query 392
7.6 Chapter Summary 395
8 Accessing Data in ASP.NET 401
8.1 What Is .NET Framework? 402
8.2 What Is ASP.NET? 403
8.2.1 ASP.NET Web Application File Structure 404
8.2.2 ASP.NET Execution Model 405
8.2.3 What Is Really Happened When a Web Application Is Executed? 406
8.2.4 The Requirements to Test and Run the Web Project 406
8.3 Develop ASP.NET Web Application to Select Data from Oracle Databases 407
8.3.1 Create the User Interface – LogIn Form 408
8.3.2 Develop the Codes to Access and Select Data from the Database 409
8.3.3 Validate the Data in the Client Side 413
8.3.4 Create the Second User Interface – Selection Page 415
8.3.5 Develop the Codes to Open the Other Page 415
8.3.6 Modify Codes in the LogIn Page to Transfer to the Selection Page 417
8.3.7 Create the Third User Interface – Faculty Page 418
8.3.8 Develop the Codes to Select the Desired Faculty Information 419
8.3.9 Create the Fourth User Interface – Course Page 424
8.3.10 Develop the Codes to Select the Desired Course Information 427
8.4 Develop ASP.NET Web Application to Insert Data into Oracle Databases 434
8.4.1 Develop the Codes to Perform the Data Insertion Function 435
8.4.2 Develop the Codes for the Insert Button Click Event Procedure 436
8.4.3 Validate the Data Insertion 441
8.5 Develop Web Applications to Update and Delete Data in Oracle Databases 443
8.5.1 Develop the Codes for the Update Button Click Event Procedure 443
8.5.2 Develop the Codes for the Delete Button Click Event Procedure 446
8.6 Develop ASP.NET Web Applications with LINQ to Oracle Query 457
8.6.1 Generate a New Web Project LINQWebOracle and a New LinqConnect Model 457
8.6.2 Develop the Codes for Our Web Project LINQWebOracle 462
8.7 Chapter Summary 471
9 ASP.NET Web Services 476
9.1 What Are Web Services and Their Components? 477
9.2 Procedures to Build a Web Service 478
9.2.1 The Structure of a Typical Web Service Project 478
9.2.2 Some Real Considerations When Building a Web Service Project 479
9.2.3 Introduction to Windows Communication Foundation (WCF) 480
9.2.4 Procedures to Build an ASP.NET Web Service 484
9.2.5 Install WCF Component with Visual Studio Installer 484
9.3 Build ASP.NET Web Service Project to Access Oracle Database 485
9.3.1 Files and Items Created in the New Web Service Project 486
9.3.2 A Feeling of the Hello World Web Service Project as it Runs 489
9.3.3 Modify the Default Namespace 492
9.3.4 Create a Base Class to Handle Error Checking for Our Web Service 493
9.3.5 Create a Customer Returned Class to Hold all Retrieved Data 493
9.3.6 Visual Basic System Class and Web Service Class 495
9.3.7 Add and Build Web Method GetOracleSelect() to the Web Services 495
9.3.8 Develop the Stored Procedure to Perform the Data Query 503
9.3.9 Use DataSet as the Returning Object for the Web Method 507
9.3.10 Build Windows‐based Web Service Clients to Consume the Web Services 510
9.3.11 Build Web‐based Web Service Clients to Consume the Web Service 519
9.3.12 Deploy the Completed Web Service to Production Servers 526
9.4 Build ASP.NET Web Service Project to Insert Data Into Oracle Databases 529
9.4.1 Create a New Web Service Project WebServiceOracleInsert 529
9.4.2 Develop Four Web Service Methods 530
9.4.3 Build Windows‐based Web Service Clients to Consume the Web Services 549
9.4.4 Build Web‐based Web Service Clients to Consume the Web Services 564
9.5 Build ASP.NET Web Service to Update and Delete Data for Oracle Database 575
9.5.1 Modify the Default Namespace and Add Database Connection String 576
9.5.2 Create Our Customer‐Built Base and Returned Classes 577
9.5.3 Create a Web Method to Call Stored Procedure to Update Student Records 578
9.5.4 Create a Web Method to Call Stored Procedure to Delete Student Records 580
9.5.5 Create a Web Method to Collect the Current Student Members 582
9.5.6 Develop Two Oracle Stored Procedures with Oracle SQL Developer 584
9.6 Build Windows-Based Web Service Clients to Consume the Web Services 590
9.6.1 Add a Web Service Reference to Our Client Project 590
9.6.2 Modify the Codes in the Form_Load Event Procedure 591
9.6.3 Build the Codes to the Update Button’s Click Event Procedure 592
9.6.4 Build the Codes to the Delete Button’s Click Event Procedure 593
9.7 Build Web-Based Web Service Clients to Consume the Web Services 596
9.7.1 Create a New ASP.NET Web Project and Add an Existing Web Page 597
9.7.2 Add a Web Service Reference and Modify the Web Form Window 597
9.7.3 Develop the Codes for the Page_Load() Event Procedure 598
9.7.4 Build the Codes Inside the Back Button’s Click Event Procedure 599
9.7.5 Add the Codes to the Update Button’s Click Event Procedure 599
9.7.6 Develop Codes for the Delete Button’s Click Event Procedure 601
9.7.7 Develop Codes for the Select Button’s Click Event Procedure 602
9.8 Chapter Summary 606
Appendix A: Download and Install Oracle Database XE 18c 613
Appendix B: Download and Install Oracle SQL Developer 619
Appendix C: Download and Install DevExpress WinForms 622
Appendix D: How to Use the Sample Database 625
Appendix E: How to Export the Sample Database 628
Appendix F: Download and Install dotConnect Express 632
Appendix G: How to Use User-Defined Windows/Web Forms 637
Appendix H: Download and Install FrontPage Server Extension for Windows 10 643
Appendix I: Download and Install LinqConnect Express 646
Index 649
About the Author
Dr. YING BAI is a Professor in the Department of Computer Science and Engineering at Johnson C. Smith University. His special interests include: artificial intelligences, soft computing, mixedlanguage programming, fuzzy logic and deep learning, robotic controls, robots calibrations, and database programming.
His industry experience includes positions as software engineer and senior software engineer at companies such as Motorola MMS, Schlumberger ATE Technology, Immix TeleCom, and Lam Research.
Since 2003, Dr. Bai has published sixteen (16) books with publishers such as Prentice Hall, CRC Press LLC, Springer, Cambridge University Press, and Wiley IEEE Press. The Russian translation of his first book titled Applications Interface Programming Using Multiple Languages was published by Prentice Hall in 2005. The Chinese translation of his eighth book titled Practical Database Programming with Visual C#.NET was published by Tsinghua University Press in China in 2011. Most books are about software programming, serial port programming, fuzzy logic controls in industrial applications, microcontroller controls and programming as well as classical and modern controls on microcontrollers.
During recent years, Dr. Bai has also published more than sixty (60) academic research papers in IEEE Trans. Journals and International conferences.
Preface
Databases have become an integral part of our modern-day life. We are an information-driven society. Database technology has a direct impact on our daily lives. Decisions are routinely made by organizations based on the information collected and stored in the databases. A record company may decide to market certain albums in selected regions based on the music preference of teenagers. Grocery stores display more popular items at the eye level and reorders are based on the inventories taken at regular intervals. Other examples include patients’ records in hospitals, customers’ account information in banks, book orders by the libraries, club memberships, auto part orders, and winter cloth stock by department stores, and many others.
In addition to database management systems, in order to effectively apply and implement databases in real industrial or commercial systems, a good Graphic User Interface (GUI) is needed to allow users to access and manipulate their records or data in databases. Visual Basic.NET is an ideal candidate to be selected to provide this GUI functionality. Unlike other programming languages, Visual Basic.NET is a kind of language that has advantages such as easy-to-learn and easyto-be-understood with little learning curves. In the beginning of Visual Studio.NET 2005, Microsoft integrated a few programming languages such as Visual C++, Visual Basic, C#, and Visual J# into a dynamic model called .NET Framework that makes Internet and Web programming easy and simple, and any language integrated in this model can be used to develop professional and efficient Web applications that can be used to communicate with others via Internet. ADO.NET and ASP. NET are two important submodels of .NET Framework. The former provides all components, including the Data Providers, DataSet, and DataTable, to access and manipulate data against different databases. The latter provides support to develop Web applications and Web services in ASP. NET environment to allow users to exchange information between clients and servers easily and conveniently.
This book is mainly designed for college students and software programmers who want to develop practical and commercial database programming with Visual Basic.NET and relational database such as Oracle XE 18c. The book provides a detailed description about the practical considerations and applications in database programming with Visual Basic.NET 2019 with authentic examples and detailed explanations. More important, a new writing style is developed and implemented in this book, combined with real examples, to provide readers with a clear picture as how to handle the database programming issues in Visual Basic.NET 2019 environment.
The outstanding features of this book include, but no limited to:
1) A novel writing style is adopted to try to attract students’ or beginning programmers’ interest in learning and developing practical database programs and to avoid the headache caused by using huge blocks of codes in the traditional database programming books.
2) Updated database programming tools and components are covered in the book, such as .NET Framework 4.7, LINQ, ADO.NET 4.6, and ASP.NET 4.6, to enable readers to easily and quickly learn and master advanced techniques in database programming and develop professional and practical database applications.
3) A real completed sample Oracle XE 18c database CSE_DEPT is provided and used for the entire book. Step by step, a detailed illustration and description about how to design and build a practical relational database are provided.
4) Covered both fundamental and advanced database-programming techniques to the convenience of both beginning students and experienced programmers.
5) All projects can be run in Microsoft Visual Studio.NET 2019 with Oracle XE 18c database.
6) Good textbook for college students, good reference book for programmers, software engineers, and academic researchers.
I sincerely hope that this book can provide useful and practical help and guide to all readers or users who adopted this book, and I will be more than happy to know that you guys can develop and build professional and practical database applications with the help of this book.
Acknowledgments
First, a special thanks to my wife, Yan Wang, for I could not have finished this book without her sincere encouragement and support.
Special thanks also to Dr. Satish Bhalla, a specialist in database programming and management, especially in SQL Server, Oracle, and DB2, who spent a lot of time preparing materials for Chapter 2.
Many thanks to the Senior Editor, Mary Hatcher, who made this book available to the public, without whose perseverance and hard work this book would not be available in the market. Thanks should also go to the entire editorial team for all their contributions which made it possible to publish this book.
Thanks are extended to the following book reviewers for their valuable suggestions and inputs:
● Dr. Jiang (Linda) Xie, Professor, Department of Electrical and Computer Engineering, University of North Carolina at Charlotte.
● Dr. Dali Wang, Professor, Department of Physics and Computer Science, Christopher Newport University.
● Dr. Daoxi Xiu, Application Analyst Programmer, North Carolina Administrative Office of the Courts.
Finally, but not the least, I would like to express my gratitude to all the people who supported me in completing this book.