chapter 12 database connectivity with asp.net javascript, third edition
TRANSCRIPT
![Page 1: Chapter 12 Database Connectivity with ASP.NET JavaScript, Third Edition](https://reader031.vdocuments.mx/reader031/viewer/2022012406/56649d755503460f94a5662d/html5/thumbnails/1.jpg)
Chapter 12
Database Connectivity with ASP.NET
JavaScript, Third Edition
![Page 2: Chapter 12 Database Connectivity with ASP.NET JavaScript, Third Edition](https://reader031.vdocuments.mx/reader031/viewer/2022012406/56649d755503460f94a5662d/html5/thumbnails/2.jpg)
JavaScript, Third Edition 2
Objectives
• Study databases
• Connect to databases with ASP.NET
• Execute SQL commands through ASP.NET
![Page 3: Chapter 12 Database Connectivity with ASP.NET JavaScript, Third Edition](https://reader031.vdocuments.mx/reader031/viewer/2022012406/56649d755503460f94a5662d/html5/thumbnails/3.jpg)
JavaScript, Third Edition 3
Introduction
• Web pages commonly used to:
– Gather information stored on a Web server database
• Most server-side scripting languages, including ASP.NET:
– Have the ability to create Web pages that can read and write data to and from databases
![Page 4: Chapter 12 Database Connectivity with ASP.NET JavaScript, Third Edition](https://reader031.vdocuments.mx/reader031/viewer/2022012406/56649d755503460f94a5662d/html5/thumbnails/4.jpg)
JavaScript, Third Edition 4
Understanding Databases
• Database:
– Ordered collection of information from which a computer program can quickly access information
• The information stored in computer databases is stored in tables
![Page 5: Chapter 12 Database Connectivity with ASP.NET JavaScript, Third Edition](https://reader031.vdocuments.mx/reader031/viewer/2022012406/56649d755503460f94a5662d/html5/thumbnails/5.jpg)
JavaScript, Third Edition 5
Understanding Databases (Cont.)
• Each row in a database table is called a record:
– Single complete set of related information
• Each column in a database table is called a field:
– Individual categories of information stored in a record
![Page 6: Chapter 12 Database Connectivity with ASP.NET JavaScript, Third Edition](https://reader031.vdocuments.mx/reader031/viewer/2022012406/56649d755503460f94a5662d/html5/thumbnails/6.jpg)
JavaScript, Third Edition 6
Understanding Databases (Cont.)
![Page 7: Chapter 12 Database Connectivity with ASP.NET JavaScript, Third Edition](https://reader031.vdocuments.mx/reader031/viewer/2022012406/56649d755503460f94a5662d/html5/thumbnails/7.jpg)
JavaScript, Third Edition 7
Understanding Databases (Cont.)
• A better solution for large and complex databases is a relational database
• A relational database stores information across multiple related tables
![Page 8: Chapter 12 Database Connectivity with ASP.NET JavaScript, Third Edition](https://reader031.vdocuments.mx/reader031/viewer/2022012406/56649d755503460f94a5662d/html5/thumbnails/8.jpg)
JavaScript, Third Edition 8
Understanding Databases (Cont.)
• Relational databases consist of one or more related tables
• You create relationships within the database:
– By working with two tables at a time
• One table in a relationship is always considered to be the primary table
– The other table is considered to be the related table
![Page 9: Chapter 12 Database Connectivity with ASP.NET JavaScript, Third Edition](https://reader031.vdocuments.mx/reader031/viewer/2022012406/56649d755503460f94a5662d/html5/thumbnails/9.jpg)
JavaScript, Third Edition 9
Understanding Databases (Cont.)
• Primary table:
– Main table in a relationship referenced by another table
• Related table (child table):
– References a primary table in a relational database
• Tables in a relationship are connected using primary and foreign keys
![Page 10: Chapter 12 Database Connectivity with ASP.NET JavaScript, Third Edition](https://reader031.vdocuments.mx/reader031/viewer/2022012406/56649d755503460f94a5662d/html5/thumbnails/10.jpg)
JavaScript, Third Edition 10
Understanding Databases (Cont.)
• Primary key:
– Field that contains a unique identifier for each record in a primary table
• Foreign key:
– Field in a related table that refers to the primary key in a primary table
• Primary and foreign keys link records across multiple tables in a relational database
![Page 11: Chapter 12 Database Connectivity with ASP.NET JavaScript, Third Edition](https://reader031.vdocuments.mx/reader031/viewer/2022012406/56649d755503460f94a5662d/html5/thumbnails/11.jpg)
JavaScript, Third Edition 11
Understanding Databases (Cont.)
![Page 12: Chapter 12 Database Connectivity with ASP.NET JavaScript, Third Edition](https://reader031.vdocuments.mx/reader031/viewer/2022012406/56649d755503460f94a5662d/html5/thumbnails/12.jpg)
JavaScript, Third Edition 12
Understanding Databases (Cont.)
• Three basic types of relationships within a relational
database: – one-to-one
– one-to-many
– many-to-many
• A one-to-one relationship:
– Exists between two tables when a related table contains exactly one record for each record in the primary table
![Page 13: Chapter 12 Database Connectivity with ASP.NET JavaScript, Third Edition](https://reader031.vdocuments.mx/reader031/viewer/2022012406/56649d755503460f94a5662d/html5/thumbnails/13.jpg)
JavaScript, Third Edition 13
Understanding Databases (Cont.)
• A one-to-many relationship:
– Exists in a relational database when one record in a primary table has many related records in a related table
• You create a one-to-many relationship in order to eliminate redundant information in a single table
![Page 14: Chapter 12 Database Connectivity with ASP.NET JavaScript, Third Edition](https://reader031.vdocuments.mx/reader031/viewer/2022012406/56649d755503460f94a5662d/html5/thumbnails/14.jpg)
JavaScript, Third Edition 14
Understanding Databases (Cont.)
![Page 15: Chapter 12 Database Connectivity with ASP.NET JavaScript, Third Edition](https://reader031.vdocuments.mx/reader031/viewer/2022012406/56649d755503460f94a5662d/html5/thumbnails/15.jpg)
JavaScript, Third Edition 15
Understanding Databases (Cont.)
![Page 16: Chapter 12 Database Connectivity with ASP.NET JavaScript, Third Edition](https://reader031.vdocuments.mx/reader031/viewer/2022012406/56649d755503460f94a5662d/html5/thumbnails/16.jpg)
JavaScript, Third Edition 16
Understanding Databases (Cont.)
• Primary and foreign keys:
– The only pieces of information in a relational database table that should be duplicated
• Normalization:
– Breaking tables into multiple related tables in order to reduce redundant and duplicate information
– Reduces the size of a database
• Makes the data easier to work with
![Page 17: Chapter 12 Database Connectivity with ASP.NET JavaScript, Third Edition](https://reader031.vdocuments.mx/reader031/viewer/2022012406/56649d755503460f94a5662d/html5/thumbnails/17.jpg)
JavaScript, Third Edition 17
Understanding Databases (Cont.)
• A many-to-many relationship:
– Exists in a relational database when many records in one table are related to many records in another table
• To create a many-to-many relationship:
– You must use a junction table
• Most relational database systems cannot work directly with many-to-many relationships
![Page 18: Chapter 12 Database Connectivity with ASP.NET JavaScript, Third Edition](https://reader031.vdocuments.mx/reader031/viewer/2022012406/56649d755503460f94a5662d/html5/thumbnails/18.jpg)
JavaScript, Third Edition 18
Understanding Databases (Cont.)
• A junction table:
– Creates a one-to-many relationship for each of the two tables in a many-to-many relationship
– Contains foreign keys from the two tables in a many-to-many relationship, along with any other fields that correspond to a many-to-many relationship
![Page 19: Chapter 12 Database Connectivity with ASP.NET JavaScript, Third Edition](https://reader031.vdocuments.mx/reader031/viewer/2022012406/56649d755503460f94a5662d/html5/thumbnails/19.jpg)
JavaScript, Third Edition 19
Understanding Databases (Cont.)
![Page 20: Chapter 12 Database Connectivity with ASP.NET JavaScript, Third Edition](https://reader031.vdocuments.mx/reader031/viewer/2022012406/56649d755503460f94a5662d/html5/thumbnails/20.jpg)
JavaScript, Third Edition 20
Database Management Systems
• A database management system (DBMS):
– An application or collection of applications used to create, access, and manage a database
– Runs on many different platforms, ranging from personal computers, to client-server systems, to mainframes
![Page 21: Chapter 12 Database Connectivity with ASP.NET JavaScript, Third Edition](https://reader031.vdocuments.mx/reader031/viewer/2022012406/56649d755503460f94a5662d/html5/thumbnails/21.jpg)
JavaScript, Third Edition 21
Database Management Systems (Cont.)
• Different database management systems exist:
– A flat-file database management system
– A relational database management system, or RDBMS
– Hierarchical and network database management systems
– Oracle, Sybase, and Informix
– Access, FoxPro, and Paradox
![Page 22: Chapter 12 Database Connectivity with ASP.NET JavaScript, Third Edition](https://reader031.vdocuments.mx/reader031/viewer/2022012406/56649d755503460f94a5662d/html5/thumbnails/22.jpg)
JavaScript, Third Edition 22
Database Management Systems (Cont.)
• Two other important aspects of database management systems are:
– Their querying and reporting capabilities
• A query:
– A structured set of instructions and criteria for retrieving, adding, modifying, and deleting database information
![Page 23: Chapter 12 Database Connectivity with ASP.NET JavaScript, Third Edition](https://reader031.vdocuments.mx/reader031/viewer/2022012406/56649d755503460f94a5662d/html5/thumbnails/23.jpg)
JavaScript, Third Edition 23
Database Management Systems (Cont.)
• A report:
– The formatted, printed output of a database table
• OR
– The results of a query
• Most database management systems use a data manipulation language, or DML:
– ex: structured query language, or SQL (pronounced sequel)
![Page 24: Chapter 12 Database Connectivity with ASP.NET JavaScript, Third Edition](https://reader031.vdocuments.mx/reader031/viewer/2022012406/56649d755503460f94a5662d/html5/thumbnails/24.jpg)
JavaScript, Third Edition 24
Database Management Systems (Cont.)
![Page 25: Chapter 12 Database Connectivity with ASP.NET JavaScript, Third Edition](https://reader031.vdocuments.mx/reader031/viewer/2022012406/56649d755503460f94a5662d/html5/thumbnails/25.jpg)
JavaScript, Third Edition 25
Database Management Systems (Cont.)
![Page 26: Chapter 12 Database Connectivity with ASP.NET JavaScript, Third Edition](https://reader031.vdocuments.mx/reader031/viewer/2022012406/56649d755503460f94a5662d/html5/thumbnails/26.jpg)
JavaScript, Third Edition 26
Structured Query Language
• SQL uses fairly easy-to-understand statements to execute database commands
• SQL statements are composed of keywords that perform actions on a database
![Page 27: Chapter 12 Database Connectivity with ASP.NET JavaScript, Third Edition](https://reader031.vdocuments.mx/reader031/viewer/2022012406/56649d755503460f94a5662d/html5/thumbnails/27.jpg)
JavaScript, Third Edition 27
Structured Query Language (Cont.)
![Page 28: Chapter 12 Database Connectivity with ASP.NET JavaScript, Third Edition](https://reader031.vdocuments.mx/reader031/viewer/2022012406/56649d755503460f94a5662d/html5/thumbnails/28.jpg)
JavaScript, Third Edition 28
Connecting to Databases with ASP.NET
• With Active Server Pages, you use ActiveX Data Objects to access databases
• ActiveX Data Objects, or ADO:– A Microsoft database connectivity technology
– Allows ASP and other Web development tools to access ODBC- and OLE DB-compliant databases
• OLE DB:– A data source connectivity standard promoted by
Microsoft as a successor to ODBC
![Page 29: Chapter 12 Database Connectivity with ASP.NET JavaScript, Third Edition](https://reader031.vdocuments.mx/reader031/viewer/2022012406/56649d755503460f94a5662d/html5/thumbnails/29.jpg)
JavaScript, Third Edition 29
Connecting to Databases with ASP.NET (Cont)
• One of the primary differences between OLE DB and ODBC is:– ODBC supports access only to relational databases– OLE DB provides access to both relational databases and
non-relational data sources
• ADO.NET:– Most recent version of ADO– Allows you to access OLE DB-compliant data sources
and XML– Use to directly access Microsoft SQL Server databases,
without having to go through OLE DB
![Page 30: Chapter 12 Database Connectivity with ASP.NET JavaScript, Third Edition](https://reader031.vdocuments.mx/reader031/viewer/2022012406/56649d755503460f94a5662d/html5/thumbnails/30.jpg)
JavaScript, Third Edition 30
Connecting to Databases with ASP.NET (Cont)
• ADO and OLE DB:
– Part of Microsoft Universal Data Access strategy for providing access to data, regardless of its storage format
• MDAC Or Microsoft Data Access Components:
– Make up the Universal Data Access technology
– Installed with numerous Microsoft products, including Internet Explorer, Internet Information Server, Microsoft Visual Studio, and the Microsoft .NET Framework SDK
![Page 31: Chapter 12 Database Connectivity with ASP.NET JavaScript, Third Edition](https://reader031.vdocuments.mx/reader031/viewer/2022012406/56649d755503460f94a5662d/html5/thumbnails/31.jpg)
JavaScript, Third Edition 31
ADO.NET Object Model
• ADO.NET technology:– Based on an object model used for accessing and
manipulating data sources
![Page 32: Chapter 12 Database Connectivity with ASP.NET JavaScript, Third Edition](https://reader031.vdocuments.mx/reader031/viewer/2022012406/56649d755503460f94a5662d/html5/thumbnails/32.jpg)
JavaScript, Third Edition 32
ADO.NET Object Model (Cont)
• Import processing directive
– Used to import a namespace in order for the ASP.NET documents to access the ADO.NET object model
• Namespaces:
– Used for managing the various classes and other elements in the .NET Framework
![Page 33: Chapter 12 Database Connectivity with ASP.NET JavaScript, Third Edition](https://reader031.vdocuments.mx/reader031/viewer/2022012406/56649d755503460f94a5662d/html5/thumbnails/33.jpg)
JavaScript, Third Edition 33
ADO.NET Object Model (Cont)
• There are numerous namespaces available to the .NET Framework:
– Many are imported automatically into your ASP.NET programs
– Others, including namespaces that give ASP.NET access to database connectivity classes, must be explicitly imported
![Page 34: Chapter 12 Database Connectivity with ASP.NET JavaScript, Third Edition](https://reader031.vdocuments.mx/reader031/viewer/2022012406/56649d755503460f94a5662d/html5/thumbnails/34.jpg)
JavaScript, Third Edition 34
ADO.NET Object Model (Cont)
• To access the OLE DB namespace:
– You must import the System.Data.OleDb namespace
– This is done by adding the following statement to your ASP.NET documents:
<%@ Importƒnamespace=”System.Data.OleDb” %>
![Page 35: Chapter 12 Database Connectivity with ASP.NET JavaScript, Third Edition](https://reader031.vdocuments.mx/reader031/viewer/2022012406/56649d755503460f94a5662d/html5/thumbnails/35.jpg)
JavaScript, Third Edition 35
The ADO.NET Connection Object
• Connection object:
– Used to access databases from ASP.NET
• ADO.NET includes two Connection objects:
– The SqlConnection object
• Connects to Microsoft SQL Server version 7.0 or later
– The OleDbConnection object
• Connects to OLE DB data sources
![Page 36: Chapter 12 Database Connectivity with ASP.NET JavaScript, Third Edition](https://reader031.vdocuments.mx/reader031/viewer/2022012406/56649d755503460f94a5662d/html5/thumbnails/36.jpg)
JavaScript, Third Edition 36
The ADO.NET Connection Object (Cont)
![Page 37: Chapter 12 Database Connectivity with ASP.NET JavaScript, Third Edition](https://reader031.vdocuments.mx/reader031/viewer/2022012406/56649d755503460f94a5662d/html5/thumbnails/37.jpg)
JavaScript, Third Edition 37
The ADO.NET Connection Object (Cont)
![Page 38: Chapter 12 Database Connectivity with ASP.NET JavaScript, Third Edition](https://reader031.vdocuments.mx/reader031/viewer/2022012406/56649d755503460f94a5662d/html5/thumbnails/38.jpg)
JavaScript, Third Edition 38
The ADO.NET Connection Object (Cont)
• First step in working with a database in ASP.NET:– Create an instance of the OleDbConnection object using
the following syntax: • Var object = new OleDbConnection("connection string”);
• Connection string must include the Provider and DataSource name=value pairs
• You assign to Provider the name of the .NET data provider:– Identifies the relational database system you want to
access
![Page 39: Chapter 12 Database Connectivity with ASP.NET JavaScript, Third Edition](https://reader031.vdocuments.mx/reader031/viewer/2022012406/56649d755503460f94a5662d/html5/thumbnails/39.jpg)
JavaScript, Third Edition 39
The ADO.NET Connection Object (Cont)
![Page 40: Chapter 12 Database Connectivity with ASP.NET JavaScript, Third Edition](https://reader031.vdocuments.mx/reader031/viewer/2022012406/56649d755503460f94a5662d/html5/thumbnails/40.jpg)
JavaScript, Third Edition 40
Opening and Closing a Data Source
• You must use the Open() method to open a specific data source
• Use the Close() method to disconnect the database
connection
– Necessary because database connections do not close automatically when an ASP.NET program ends
![Page 41: Chapter 12 Database Connectivity with ASP.NET JavaScript, Third Edition](https://reader031.vdocuments.mx/reader031/viewer/2022012406/56649d755503460f94a5662d/html5/thumbnails/41.jpg)
JavaScript, Third Edition 41
Checking the Database Connection
• The State property contains a string indicating the current status of the database connection
![Page 42: Chapter 12 Database Connectivity with ASP.NET JavaScript, Third Edition](https://reader031.vdocuments.mx/reader031/viewer/2022012406/56649d755503460f94a5662d/html5/thumbnails/42.jpg)
JavaScript, Third Edition 42
Executing SQL Commands Through ASP.NET
• ADO.NET provides four primary objects for accessing and manipulating data sources:
– Command object
– DataReader object
– DataSet object
– DataAdapter object
![Page 43: Chapter 12 Database Connectivity with ASP.NET JavaScript, Third Edition](https://reader031.vdocuments.mx/reader031/viewer/2022012406/56649d755503460f94a5662d/html5/thumbnails/43.jpg)
JavaScript, Third Edition 43
The Command Object
• The Command object:
– Executes a command, such as an SQL command, against a data source
– ADO.NET includes two Connection objects:
• SqlCommand object: executes commands against Microsoft SQL Server version 7.0 or later
• OleDbCommand object: executes commands against an OLE DB data source
![Page 44: Chapter 12 Database Connectivity with ASP.NET JavaScript, Third Edition](https://reader031.vdocuments.mx/reader031/viewer/2022012406/56649d755503460f94a5662d/html5/thumbnails/44.jpg)
JavaScript, Third Edition 44
The DataReader Object
• A DataReader object:– Retrieves read-only, forward-only data from a data
source• ADO.NET includes two DataReader objects:
– SqlDataReader object: retrieves data from Microsoft SQL Server version 7.0 or later
– OleDbDataReader object: retrieves data from OLE DB data sources
• You use the ExecuteReader() method of the OleDbCommand object to create an OleDbDataReader object
![Page 45: Chapter 12 Database Connectivity with ASP.NET JavaScript, Third Edition](https://reader031.vdocuments.mx/reader031/viewer/2022012406/56649d755503460f94a5662d/html5/thumbnails/45.jpg)
JavaScript, Third Edition 45
The DataReader Object (Cont)
• The OleDbDataReader object contains various properties and methods for reading the returned data
• Read() method:
– Advances the leDbDataReader object to the next record
• Cursor:
– The position within the record set
![Page 46: Chapter 12 Database Connectivity with ASP.NET JavaScript, Third Edition](https://reader031.vdocuments.mx/reader031/viewer/2022012406/56649d755503460f94a5662d/html5/thumbnails/46.jpg)
JavaScript, Third Edition 46
Chapter Summary
• A database:
– An ordered collection of information from which a computer program can quickly access information
• A record in a database:
– Contains a single, complete set of related information
• Fields:
– The individual categories of information stored in a record
![Page 47: Chapter 12 Database Connectivity with ASP.NET JavaScript, Third Edition](https://reader031.vdocuments.mx/reader031/viewer/2022012406/56649d755503460f94a5662d/html5/thumbnails/47.jpg)
JavaScript, Third Edition 47
Chapter Summary (cont.)
• A flat-file database:– Stores information in a single table
• A relational database:– Stores information across multiple related tables
• A primary table:– The main table in a relationship referenced by another
table
• A related table (also called a child table):– References a primary table in a relational database
![Page 48: Chapter 12 Database Connectivity with ASP.NET JavaScript, Third Edition](https://reader031.vdocuments.mx/reader031/viewer/2022012406/56649d755503460f94a5662d/html5/thumbnails/48.jpg)
JavaScript, Third Edition 48
Chapter Summary (cont.)
• A primary key:– A field that contains a unique identifier for each record
in a primary table
• A foreign key:– A field in a related table that refers to the primary key
in a primary table
• A one-to-one relationship:– Exists between two tables when a related table
contains exactly one record for each record in the primary table
![Page 49: Chapter 12 Database Connectivity with ASP.NET JavaScript, Third Edition](https://reader031.vdocuments.mx/reader031/viewer/2022012406/56649d755503460f94a5662d/html5/thumbnails/49.jpg)
JavaScript, Third Edition 49
Chapter Summary (cont.)• Normalization:
– Breaking tables into multiple related tables in order to reduce redundant and duplicate information
• A many-to-many relationship:
– Exists in a relational database when many records in one table are related to many records in another table
• A database management system (DBMS):
– An application or collection of applications used to create, access, and manage a database
![Page 50: Chapter 12 Database Connectivity with ASP.NET JavaScript, Third Edition](https://reader031.vdocuments.mx/reader031/viewer/2022012406/56649d755503460f94a5662d/html5/thumbnails/50.jpg)
JavaScript, Third Edition 50
Chapter Summary (cont.)
• ActiveX Data Objects, or ADO:
– A Microsoft database connectivity technology that allows ASP and other Web development tools to access ODBC- and OLE DB-compliant databases
• A one-to-many relationship:
– Exists in a relational database when one record in a primary table has many related records in a related table
![Page 51: Chapter 12 Database Connectivity with ASP.NET JavaScript, Third Edition](https://reader031.vdocuments.mx/reader031/viewer/2022012406/56649d755503460f94a5662d/html5/thumbnails/51.jpg)
JavaScript, Third Edition 51
Chapter Summary (cont.)• ADO.NET includes two Connection objects:
– The SqlConnection object
– The OleDbConnection object
• The Command object:
– Executes a command, such as a SQL command, against a data source
• ADO.NET includes two Command objects:
– The SqlCommand object
– The OleDbCommand object
![Page 52: Chapter 12 Database Connectivity with ASP.NET JavaScript, Third Edition](https://reader031.vdocuments.mx/reader031/viewer/2022012406/56649d755503460f94a5662d/html5/thumbnails/52.jpg)
JavaScript, Third Edition 52
Chapter Summary (cont.)
• A DataReader object:
– Retrieves read-only and forward-only data from a data source
• ADO.NET includes two DataReader objects:
– The SqlDataReader object and the OleDbDataReader object: retrieves data from OLE DB data sources