Practical Database Programming with Visual Basic.NET

Similar documents
Practical Database Programming with Visual Basic.NET

Practical Database Programming With Visual C#.NET

Real-Time Optimization by Extremum-Seeking Control


COMPONENT-ORIENTED PROGRAMMING

LEGITIMATE APPLICATIONS OF PEER-TO-PEER NETWORKS DINESH C. VERMA IBM T. J. Watson Research Center A JOHN WILEY & SONS, INC., PUBLICATION

Relational Database Index Design and the Optimizers

Practical Database Programming with Java

HASHING IN COMPUTER SCIENCE FIFTY YEARS OF SLICING AND DICING

DIFFERENTIAL EQUATION ANALYSIS IN BIOMEDICAL SCIENCE AND ENGINEERING

TASK SCHEDULING FOR PARALLEL SYSTEMS

COSO Enterprise Risk Management

LEGITIMATE APPLICATIONS OF PEER-TO-PEER NETWORKS

Agile Database Techniques Effective Strategies for the Agile Software Developer. Scott W. Ambler

Microprocessor Theory

Modern Experimental Design

MODERN MULTITHREADING

IP MULTICAST WITH APPLICATIONS TO IPTV AND MOBILE DVB-H

Algorithms and Parallel Computing

Professional ASP.NET 2.0 Databases. Thiru Thangarathinam

Mastering UNIX Shell Scripting

7 Windows Tweaks. A Comprehensive Guide to Customizing, Increasing Performance, and Securing Microsoft Windows 7. Steve Sinchak

Beginning Transact-SQL with SQL Server 2000 and Paul Turley with Dan Wood

Join the p2p.wrox.com. Wrox Programmer to Programmer. Beginning PHP 5.3. Matt Doyle

Linux Command Line and Shell Scripting Bible

INTRODUCTION TO IP ADDRESS MANAGEMENT

Study Guide. Robert Schmidt Dane Charlton

Linux Command Line and Shell Scripting Bible. Third Edtion

THE ARCHITECTURE OF COMPUTER HARDWARE, SYSTEM SOFTWARE, AND NETWORKING

C# Programming: From Problem Analysis to Program Design 2nd Edition. David McDonald, Ph.D. Director of Emerging Technologies. Objectives (1 of 2)

OVER 750 QUESTIONS AND 55 TASK-BASED SIMULATIONS! CPA EXAM REVIEW. Auditing and Attestation. O. Ray Whittington, CPA, PhD Patrick R.

Programming Microsoft LINQ in

Chapter 3. Windows Database Applications The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill

Windows Database Applications

J2EE TM Best Practices Java TM Design Patterns, Automation, and Performance

"Charting the Course... MOC A Introduction to Web Development with Microsoft Visual Studio Course Summary

iwork DUMmIES 2ND EDITION FOR

Oracle PL/SQL. DUMmIES. by Michael Rosenblum and Dr. Paul Dorsey FOR

Beginning Web Programming with HTML, XHTML, and CSS. Second Edition. Jon Duckett

PHP & MySQL. Learn to: Janet Valade. Making Everything Easier! 4th Edition. Create well-formed PHP code that s compliant with PHP 4, 5, and 6

Mastering BEA WebLogic Server Best Practices for Building and Deploying J2EE Applications

Create a Windows Application that Reads- Writes PI Data via PI OLEDB. Page 1

Networking. 11th Edition. by Doug Lowe


Implementing Security and Tokens: Current Standards, Tools, and Practices

Cloud Phone Systems. Andrew Moore. Making Everything Easier! Nextiva Special Edition. Learn:

Linux. The book you need to succeed! Boot up to Ubuntu, Fedora, KNOPPIX, Debian, opensuse, and 13 Other Distributions Edition.

CSC 330 Object-Oriented

Microsoft Official Courseware Course Introduction to Web Development with Microsoft Visual Studio

Contents. Chapter 1 Introducing ADO.NET...1. Acknowledgments...xiii. About the Authors...xv. Introduction...xix

Chapter 10. Database Applications The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill

Magical Math G ROOVY G EOMETRY. Games and Activities That Make Math Easy and Fun. Lynette Long. John Wiley & Sons, Inc.

Contents. LINQ for Visual C# 2008 i


CS313D: ADVANCED PROGRAMMING LANGUAGE

Beginning Visual Basic 2005 Databases. Thearon Willis

Microsoft. Microsoft Visual C# Step by Step. John Sharp

Securing SCADA Systems. Ronald L. Krutz

Beginning Visual Basic 2015

Developing Web Applications Using Microsoft Visual Studio 2008 SP1


This page intentionally left blank

Introduction to Web Development with Microsoft Visual Studio 2010


DATABASE DESIGN AND DEVELOPMENT

FUNDAMENTALS OF COMPUTER ORGANIZATION AND ARCHITECTURE

10267 Introduction to Web Development with Microsoft Visual Studio 2010

DE Introduction to Web Development with Microsoft Visual Studio 2010

MCITP Windows Server 2008 Server Administrator Study Guide

Learning C# 3.0. Jesse Liberty and Brian MacDonald O'REILLY. Beijing Cambridge Farnham Köln Sebastopol Taipei Tokyo

Programming with ADO.NET

FileMaker. Pro 10. The book you need to succeed! Companion Web Site. Ray Cologon. Go from basics to full-scale development

Toad Data Point - Professional Edition

"Charting the Course to Your Success!" MOC B Programming in C# Course Summary

XSLT 2.0 and XPath 2.0

Toad Data Point - Professional Edition. The Toad Data Point Professional edition includes the following new features and enhancements.

VS2010 C# Programming - DB intro 1

Pro LINQ. Language Integrated Query in C# Apress. Adam Freeman and Joseph C. Rattz, Jr.

The SQL Guide to Pervasive PSQL. Rick F. van der Lans

2310C VB - Developing Web Applications Using Microsoft Visual Studio 2008 Course Number: 2310C Course Length: 5 Days

Essential Angular for ASP.NET Core MVC

ADO.NET 2.0. database programming with

Introduction to Web Development with Microsoft Visual Studio 2010

DE-2310 Developing Web Applications Using Microsoft Visual Studio 2008 SP1

Hands-On Oracle Application Express Security

"Charting the Course... MOC A Developing Data Access Solutions with Microsoft Visual Studio Course Summary

Excel for Chemists. Second Edition

COMPUTING FOR NUMERICAL METHODS USING VISUAL C++

Richard Wentk. Cocoa. Developer Reference.

Windows. 7 Desktop Support and Administration. Real World Skills for MCITP Certification and Beyond. Darril Gibson

Toad Data Point - Professional Edition. The Toad Data Point Professional edition includes the following new features and enhancements.

Chapter 4. Windows Database Using Related Tables The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill

Oracle BI Publisher 11g R1: Fundamentals

Acknowledgments The author and editors wish to thank the following instructors for their technical and academic contributions:

ADO.NET Using Visual Basic 2005 Table of Contents

Beginning ASP.NET. 4.5 in C# Matthew MacDonald

ITT Technical Institute. IT203 Database Development Onsite Course SYLLABUS

INFORMATION RETRIEVAL SYSTEMS: Theory and Implementation

Creating Web Pages. Learn to: Bud E. Smith. Making Everything Easier! 9th Edition. Design, build, and post a Web page

ASP.NET Web Forms Programming Using Visual Basic.NET

Transcription:

Practical Database Programming with Visual Basic.NET

IEEE Press 445 Hoes Lane Piscataway, NJ 08854 IEEE Press Editorial Board Lajos Hanzo, Editor in Chief R. Abari M. El-Hawary S. Nahavandi J. Anderson B. M. Hammerli W. Reeve F. Canavero M. Lanzerotti T. Samad T. G. Croda O. Malik G. Zobrist Kenneth Moore, Director of IEEE Book and Information Services (BIS)

Practical Database Programming with Visual Basic.NET Second Edition Ying Bai Department of Computer Science and Engineering Johnson C. Smith University Charlotte, North Carolina IEEE PRESS A John Wiley & Sons, Inc., Publication

Copyright 2012 by the Institute of Electrical and Electronics Engineers, Inc. Published by John Wiley & Sons, Inc., Hoboken, New Jersey. All rights reserved. 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/permissions. 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: Bai, Ying, 1956 Practical database programming with Visual Basic.NET / Ying Bai. 2nd ed. p. cm. ISBN 978-1-118-16205-7 (pbk.) 1. Microsoft Visual BASIC. 2. BASIC (Computer program language) 3. Microsoft.NET. 4. Database design. I. Title. QA76.73.B3B335 2012 005.2'768 dc23 2011039947 Printed in United States of America. 10 9 8 7 6 5 4 3 2 1

This book is dedicated to my wife, Yan Wang, and my daughter, Xue Bai.

Contents Preface xxv Acknowledgments xxvii Chapter 1 Introduction 1 Outstanding Features about This Book 2 Who This Book Is For 2 What This Book Covers 2 How This Book Is Organized and How to Use This Book 5 How to Use the Source Code and Sample Databases 6 Instructors and Customers Supports 8 Chapter 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 12 2.2 Develop a Database 13 2.3 Sample Database 14 2.3.1 Relational Data Model 14 2.3.2 Entity-Relationship Model 17 2.4 Identifying Keys 17 2.4.1 Primary Key and Entity Integrity 17 2.4.2 Candidate Key 18 2.4.3 Foreign Keys and Referential Integrity 18 2.5 Define Relationships 19 2.5.1 Connectivity 19 2.6 ER Notation 21 2.7 Data Normalization 22 2.7.1 First Normal Form (1NF) 22 2.7.2 Second Normal Form (2NF) 23 2.7.3 Third Normal Form (3NF) 24 vii

viii Contents 2.8 Database Components in Some Popular Databases 26 2.8.1 Microsoft Access Databases 26 2.8.1.1 Database File 27 2.8.1.2 Tables 27 2.8.1.3 Queries 27 2.8.2 SQL Server Databases 28 2.8.2.1 Data Files 28 2.8.2.2 Tables 29 2.8.2.3 Views 29 2.8.2.4 Stored Procedures 29 2.8.2.5 Keys and Relationships 30 2.8.2.6 Indexes 30 2.8.2.7 Transaction Log Files 30 2.8.3 Oracle Databases 31 2.8.3.1 Data Files 31 2.8.3.2 Tables 31 2.8.3.3 Views 32 2.8.3.4 Stored Procedures 32 2.8.3.5 Indexes 33 2.8.3.6 Initialization Parameter Files 33 2.8.3.7 Control Files 33 2.8.3.8 Redo Log Files 34 2.8.3.9 Password Files 34 2.9 Create Microsoft Access Sample Database 34 2.9.1 Create the LogIn Table 34 2.9.2 Create the Faculty Table 36 2.9.3 Create the Other Tables 38 2.9.4 Create Relationships among Tables 41 2.10 Create Microsoft SQL Server 2008 Sample Database 44 2.10.1 Create the LogIn Table 46 2.10.2 Create the Faculty Table 48 2.10.3 Create Other Tables 49 2.10.4 Create Relationships among Tables 54 2.10.4.1 Create Relationship between the LogIn and the Faculty Tables 54 2.10.4.2 Create Relationship between the LogIn and the Student Tables 57 2.10.4.3 Create Relationship between the Faculty and the Course Tables 58 2.10.4.4 Create Relationship between the Student and the StudentCourse Tables 59 2.10.4.5 Create Relationship between the Course and the StudentCourse Tables 60 2.11 Create Oracle 11g XE Sample Database 61 2.11.1 Create a New Oracle Customer User or User Account 63 2.11.2 Create New Customer Sample Database CSE_DEPT 65 2.11.3 Create the LogIn Data Table 69 2.11.4 Create the Faculty Data Table 71 2.11.5 Create Other Tables 74 2.11.6 Create the Constraints between Tables 78

Contents ix 2.11.6.1 Create the Constraints between the LogIn and Faculty Tables 78 2.11.6.2 Create the Constraints between the LogIn and Student Tables 81 2.11.6.3 Create the Constraints between the Course and Faculty Tables 83 2.11.6.4 Create the Constraints between the StudentCourse and Student Tables 83 2.11.6.5 Create the Constraints between the StudentCourse and Course Tables 85 2.12 Chapter Summary 87 Homework 88 Chapter 3 Introduction to ADO.NET 91 3.1 The ADO and ADO.NET 91 3.2 Overview of ADO.NET 93 3.3 The Architecture of ADO.NET 94 3.4 The Components of ADO.NET 95 3.4.1 The Data Provider 95 3.4.1.1 The ODBC Data Provider 97 3.4.1.2 The OLEDB Data Provider 97 3.4.1.3 The SQL Server Data Provider 98 3.4.1.4 The Oracle Data Provider 98 3.4.2 The Connection Class 99 3.4.2.1 The Open() Method of the Connection Class 101 3.4.2.2 The Close() Method of the Connection Class 102 3.4.2.3 The Dispose() Method of the Connection Class 102 3.4.3 The Command and the Parameter Classes 103 3.4.3.1 The Properties of the Command Class 103 3.4.3.2 The Constructors and Properties of the Parameter Class 104 3.4.3.3 Parameter Mapping 105 3.4.3.4 The Methods of the ParameterCollection Class 107 3.4.3.5 The Constructor of the Command Class 108 3.4.3.6 The Methods of the Command Class 109 3.4.4 The DataAdapter Class 112 3.4.4.1 The Constructor of the DataAdapter Class 112 3.4.4.2 The Properties of the DataAdapter Class 112 3.4.4.3 The Methods of the DataAdapter Class 113 3.4.4.4 The Events of the DataAdapter Class 113 3.4.5 The DataReader Class 115 3.4.6 The DataSet Component 117 3.4.6.1 The DataSet Constructor 119 3.4.6.2 The DataSet Properties 120 3.4.6.3 The DataSet Methods 120 3.4.6.4 The DataSet Events 121 3.4.7 The DataTable Component 123 3.4.7.1 The DataTable Constructor 124 3.4.7.2 The DataTable Properties 125

x Contents 3.4.7.3 The DataTable Methods 126 3.4.7.4 The DataTable Events 126 3.4.8 ADO.NET Entity Framework 4.1 128 3.4.8.1 Advantages of Using the Entity Framework 4.1 130 3.4.8.2 The ADO.NET 4.1 Entity Data Model 132 3.4.8.3 Using the ADO.NET 4.1 Entity Data Model Wizard 136 3.5 Chapter Summary 145 Homework 146 Chapter 4 Introduction to Language Integrated Query (LINQ) 149 4.1 Overview of Language Integrated Query 149 4.1.1 Some Special Interfaces Used in LINQ 150 4.1.1.1 The IEnumerable and IEnumerable(Of T) Interfaces 150 4.1.1.2 The IQueryable and IQueryable(Of T) Interfaces 151 4.1.2 Standard Query Operators 152 4.1.3 Deferred Standard Query Operators 154 4.1.3.1 AsEnumerable (Conversion Purpose) 154 4.1.3.2 Cast (Conversion Purpose) 154 4.1.3.3 Join (Join Purpose) 154 4.1.3.4 OfType (Conversion Purpose) 156 4.1.3.5 OrderBy (Ordering Purpose) 156 4.1.3.6 Select (Projection Purpose) 157 4.1.3.7 Where (Restriction Purpose) 158 4.1.4 Nondeferred Standard Query Operators 158 4.1.4.1 ElementAt (Element Purpose) 158 4.1.4.2 First (Element Purpose) 159 4.1.4.3 Last (Element Purpose) 159 4.1.4.4 Single (Element Purpose) 159 4.1.4.5 ToArray (Conversion Purpose) 160 4.1.4.6 ToList (Conversion Purpose) 160 4.2 Introduction to LINQ Query 161 4.3 The Architecture and Components of LINQ 164 4.3.1 Overview of LINQ to Objects 165 4.3.2 Overview of LINQ to DataSet 165 4.3.3 Overview of LINQ to SQL 166 4.3.4 Overview of LINQ to Entities 167 4.3.5 Overview of LINQ to XML 168 4.4 LINQ to Objects 168 4.4.1 LINQ and ArrayList 169 4.4.2 LINQ and Strings 170 4.4.2.1 Query a String to Determine the Number of Numeric Digits 171 4.4.2.2 Sort Lines of Structured Text by any Field in the Line 172 4.4.3 LINQ and File Directories 175 4.4.3.1 Query the Contents of Files in a Folder 175 4.4.4 LINQ and Reflection 177

4.5 LINQ to DataSet 179 4.5.1 Operations to DataSet Objects 179 4.5.1.1 Query Expression Syntax 180 4.5.1.2 Method-Based Query Syntax 182 4.5.1.3 Query the Single Table 184 4.5.1.4 Query the Cross Tables 186 4.5.1.5 Query Typed DataSet 189 4.5.2 Operations to DataRow Objects Using the Extension Methods 192 4.5.3 Operations to DataTable Objects 196 4.6 LINQ to SQL 197 4.6.1 LINQ to SQL Entity Classes and DataContext Class 198 4.6.2 LINQ to SQL Database Operations 202 4.6.2.1 Data Selection Query 203 4.6.2.2 Data Insertion Query 205 4.6.2.3 Data Updating Query 206 4.6.2.4 Data Deletion Query 207 4.6.3 LINQ to SQL Implementations 210 4.7 LINQ to Entities 210 4.7.1 The Object Services Component 211 4.7.2 The ObjectContext Component 211 4.7.3 The ObjectQuery Component 211 4.7.4 LINQ to Entities Flow of Execution 211 4.7.4.1 Construct an ObjectQuery Instance 212 4.7.4.2 Compose a LINQ to Entities Query 212 4.7.4.3 Convert the Query to Command Trees 212 4.7.4.4 Execute the Query 213 4.7.4.5 Materialize the Query 214 4.7.5 Implementation of LINQ to Entities 214 4.8 LINQ to XML 215 4.8.1 LINQ to XML Class Hierarchy 215 4.8.2 Manipulate XML Elements 216 4.8.2.1 Creating XML from Scratch 216 4.8.2.2 Insert XML 218 4.8.2.3 Update XML 219 4.8.2.4 Delete XML 220 4.8.3 Manipulate XML Attributes 220 4.8.3.1 Add XML Attributes 220 4.8.3.2 Get XML Attributes 221 4.8.3.3 Delete XML Attributes 222 4.8.4 Query XML with LINQ to XML 222 4.8.4.1 Standard Query Operators and XML 223 4.8.4.2 XML Query Extensions 224 4.8.4.3 Using Query Expressions with XML 224 4.8.4.4 Using XPath and XSLT with LINQ to XML 225 4.8.4.5 Mixing XML and Other Data Models 225 Contents xi

xii Contents 4.9 Visual Basic.NET Language Enhancement for LINQ 227 4.9.1 Lambda Expressions 227 4.9.2 Extension Methods 229 4.9.3 Implicitly Typed Local Variables 232 4.9.4 Query Expressions 234 4.10 Chapter Summary 236 Homework 237 Chapter 5 Data Selection Query with Visual Basic.NET 241 Part I Data Query with Visual Studio.NET Design Tools and Wizards 242 5.1 A Completed Sample Database Application Example 242 5.2 Visual Studio.NET Design Tools and Wizards 245 5.2.1 Data Components in the Toolbox Window 245 5.2.1.1 The DataSet 246 5.2.1.2 DataGridView 247 5.2.1.3 BindingSource 248 5.2.1.4 BindingNavigator 248 5.2.1.5 TableAdapter 249 5.2.2 Data Source Window 249 5.2.2.1 Add New Data Sources 250 5.2.2.2 Data Source Configuration Wizard 251 5.2.2.3 DataSet Designer 255 5.3 Query Data from SQL Server Database Using Design Tools and Wizards 257 5.3.1 Application User Interface 257 5.3.1.1 The LogIn Form 258 5.3.1.2 The Selection Form 259 5.3.1.3 The Faculty Form 260 5.3.1.4 The Course Form 260 5.3.1.5 The Student Form 263 5.4 Add and Utilize Visual Studio Wizards and Design Tools 265 5.4.1 Add and Configure a New Data Source 265 5.5 Query and Display Data using the DataGridView Control 268 5.5.1 View the Entire Table 268 5.5.2 View Each Record or the Specified Columns 270 5.6 Use DataSet Designer to Edit the Structure of the DataSet 272 5.7 Bind Data to the Associated Controls in LogIn Form 274 5.8 Develop Codes to Query Data Using the Fill() Method 278 5.9 Use Return a Single Value to Query Data for LogIn Form 281 5.10 Develop the Codes for the Selection Form 284 5.11 Query Data from the Faculty Table for the Faculty Form 286 5.12 Develop Codes to Query Data from the Faculty Table 289 5.12.1 Develop Codes to Query Data Using the TableAdapter Method 289 5.12.2 Develop Codes to Query Data Using the LINQ to DataSet Method 291 5.13 Display a Picture for the Selected Faculty 292 5.13.1 Modify the Codes for the Select Button Event Procedure 292 5.13.2 Create a Function to Select the Matched Faculty Image 293

Contents xiii 5.14 Query Data from the Course Table for the Course Form 295 5.14.1 Build the Course Queries Using the Query Builder 296 5.14.2 Bind Data Columns to the Associated Controls in the Course Form 298 5.15 Develop Codes to Query Data for the Course Form 300 5.15.1 Query Data from the Course Table Using the TableAdapter Method 300 5.15.2 Query Data from the Course Table Using the LINQ to DataSet Method 302 5.16 Query Data from Oracle Database Using Design Tools and Wizards 304 5.16.1 Introduction to dotconnect for Oracle 6.30 Express 305 5.16.2 Create a New Visual Basic.NET Project: SelectWizardOracle 305 5.16.3 Select and Add Oracle Database 11g XE as the Data Source 307 5.16.4 Modify the Codes to Access the Oracle Database 310 Part II Data Query with Runtime Objects 311 5.17 Introduction to Runtime Objects 312 5.17.1 Procedure of Building a Data-Driven Application Using Runtime Object 314 5.18 Query Data from Microsoft Access Database Using Runtime Object 315 5.18.1 Query Data Using Runtime Objects for the LogIn Form 315 5.18.1.1 Declare Global Variables and Runtime Objects 316 5.18.1.2 Connect to the Data Source with the Runtime Object 317 5.18.1.3 Coding for Method 1: Using DataSet-TableAdapter to Query Data 318 5.18.1.4 Coding for Method 2: Using the DataReader to Query Data 320 5.18.1.5 Clean up the Objects and Terminate the Project 321 5.18.2 Coding for the Selection Form 322 5.18.3 Query Data Using Runtime Objects for the Faculty Form 323 5.18.4 Query Data Using Runtime Objects for the Course Form 331 5.18.5 Query Data Using Runtime Objects for the Student Form 339 5.18.5.1 Coding for the Student Form_Load Event Procedure 341 5.18.5.2 Coding for the Select Button Click Event Procedure 342 5.19 Query Data from SQL Server Database Using Runtime Object 349 5.19.1 Migrating from Access to SQL Server and Oracle Databases 350 5.19.2 Query Data Using Runtime Objects for the LogIn Form 353 5.19.2.1 Declare the Runtime Objects 354 5.19.2.2 Connect to the Data Source with the Runtime Object 354 5.19.2.3 Coding for Method 1: Using the TableAdapter to Query Data 356 5.19.2.4 Coding for Method 2: Using the DataReader to Query Data 357 5.19.3 The Coding for the Selection Form 359 5.19.4 Query Data Using Runtime Objects For the Faculty Form 359 5.19.5 Query Data Using Runtime Objects for the Course Form 362 5.19.6 Retrieve Data from Multiple Tables Using Tables JOINS 363 5.19.7 Query Data Using Runtime Objects for the Student Form 367