Chapter 15: Using LINQ to Access Data in C# Programs
2Microsoft Visual C# 2012, Fifth Edition Understanding Relational Database Fundamentals Database – Holds a file or, more frequently, a group of files that an organization needs to support its applications In a database, the files often are called tables because you can arrange their contents in rows and columns Primary key (or key) – A value that uniquely identifies a record
3Microsoft Visual C# 2012, Fifth Edition Understanding Relational Database Fundamentals (cont’d.)
4Microsoft Visual C# 2012, Fifth Edition Understanding Relational Database Fundamentals (cont’d.) Database management software – Also called a database management system (DBMS) – Allows you to: Create table descriptions Identify keys Add, delete, and update records within a table Arrange records within a table so they are sorted by different fields Write questions that select specific records from a table for viewing Write questions that combine information from multiple tables Create reports that allow users to easily interpret your data Keep data secure by employing sophisticated security measures
5Microsoft Visual C# 2012, Fifth Edition Understanding Relational Database Fundamentals (cont’d.) Database management software (cont’d.) – Establishes and maintains relationships between the columns in tables A group of database tables from which you can make these connections is a relational database
6Microsoft Visual C# 2012, Fifth Edition Creating Databases and Table Descriptions (cont’d.)
7Microsoft Visual C# 2012, Fifth Edition Identifying Primary Keys The primary key in a table is the column that makes each record different from all others – Each primary key must be unique Typical examples of primary keys include: – A student ID number in a table that contains college student information – A part number in a table that contains inventory items – A Social Security number in a table that contains employee information
8Microsoft Visual C# 2012, Fifth Edition Creating SQL Queries Query – Simply a request using syntax that the database software can understand Structured Query Language (or SQL) – The most common language that database administrators use to access data in their tables The basic form of the SQL command that retrieves selected records from a table – SELECT-FROM-WHERE Example: SELECT custId, lastName FROM tblCustomer WHERE state = "WI"
9Microsoft Visual C# 2012, Fifth Edition Creating an Access Database Microsoft Office Access – A relational database that is part of some versions of the Microsoft Office system
10Microsoft Visual C# 2012, Fifth Edition Creating an Access Database (cont’d.)
11Microsoft Visual C# 2012, Fifth Edition Creating an Access Database (cont’d.)
12Microsoft Visual C# 2012, Fifth Edition Understanding LINQ LINQ (Language INtegrated Query) Project – Provides queries that can be used in C# and Visual Basic In older versions of C#, you could access database data by passing an SQL string to a database object – OleDbCommand is a built-in type used to access databases LINQ provides a set of general-purpose standard operators that allow queries to be constructed using syntax that is easy to understand
13Microsoft Visual C# 2012, Fifth Edition Understanding LINQ (cont’d.) The operators defined in LINQ can be used to query arrays, enumerable classes, XML, relational databases, and other sources Some keywords in the LINQ vocabulary: – select indicates what to select – from indicates the collection or sequence from which data will be drawn – where indicates conditions for selecting records
14Microsoft Visual C# 2012, Fifth Edition Retrieving Data from an Access Database in C# Save time and reduce the chance for error by using the built-in tools of the Visual Studio IDE Tasks for adding a database table to a Windows Form project: – Drag a DataGridView object from the IDE’s Toolbox onto a Form Next, browse for the project data source and answer a few questions – Make a few choices and browse for the database file to add to the project
15Microsoft Visual C# 2012, Fifth Edition Retrieving Data from an Access Database in C# (cont’d.)
16Microsoft Visual C# 2012, Fifth Edition Retrieving Data from an Access Database in C# (cont’d.)
17Microsoft Visual C# 2012, Fifth Edition Retrieving Data from an Access Database in C# (cont’d.)
18Microsoft Visual C# 2012, Fifth Edition Retrieving Data from an Access Database in C# (cont’d.)
19Microsoft Visual C# 2012, Fifth Edition Using LINQ Queries with an Access Database Table You are not required to use the data grid to view database records You can use a LINQ query to select a collection of data from a table when specific criteria are met
20Microsoft Visual C# 2012, Fifth Edition Using LINQ Queries with an Access Database Table (cont’d.)
21Microsoft Visual C# 2012, Fifth Edition Using LINQ Queries with an Access Database Table (cont’d.)
22Microsoft Visual C# 2012, Fifth Edition Using LINQ Queries with an Access Database Table (cont’d.)
23Microsoft Visual C# 2012, Fifth Edition Using LINQ Queries with an Access Database Table (cont’d.)